导航:首页 > 配服务器 > c如何获取服务器ip

c如何获取服务器ip

发布时间:2023-01-22 16:48:34

‘壹’ 请问 c语言怎样获取计算机ip地址啊

struct in_addr addr;
hostent *pHost = ::gethostbyname("localhost");//在此写入你自己电脑主机名字
switch (pHost->h_addrtype) {
case AF_INET:
printf("internet网络地址类型(AF_INET)\n");
break;
case AF_INET6:
printf("internet网络地址类型(AF_INET)\n");
break;
case AF_NETBIOS:
printf("netbios网络地址类型(AF_NETBIOS)\n");
break;
default:
printf("其它地址类型 %d\n", pHost->h_addrtype);
break;
}
printf("\t地址长度: %d(字节)\n", pHost->h_length);
addr.s_addr = *(u_long *) pHost->h_addr_list[0];
printf("\t第一个IP地址为: %s\n", inet_ntoa(addr));

‘贰’ 请问 , 用c语言怎样获取ip地址啊 谢谢了

看你要获得那里的ip地址
如果是本及机的话,就使用windows的API啊

#include "winsock.h"
WORD wVersionRequested;
WSADATA wsaData;
char name[255];
char* ip;
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 2, 0 );
if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
{
if((hostinfo = gethostbyname(name)) != NULL)
{
ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);
}
}
// ip is ready
WSACleanup( );
}

‘叁’ 编程:C语言编程取得本机ip地址

#include "stdio.h"
#include "conio.h"
main()
{
int i,j;
char ip[20];
char temp[100];
char ch='\0';
FILE *fp;
system("ipconfig >d:\\myip.txt");
if ((fp=fopen("d:\\myip.txt","r"))==NULL)
{
printf("the file can not open:\nPress any key to exit:");
getch();
exit(1);
}
for (i=0;i<7;i++)
{fgets(temp,80,fp); /*跳过一些行*/
/*printf("%s\n",temp); */}
fgets(temp,80,fp);
i=0;j=0;
while (temp[i++]!=':')
;
while (temp[i]!='\n')
ip[j++]=temp[i++];
ip[j]=0;
printf("IP=%s\n",ip);
fclose(fp);
system("del d:\\myip.txt");

getch();
}

‘肆’ 用C语言编写程序如何获得外网的IP的地址

//通过ip138网站来查询外网IP的
#include <afxinet.h>
void CLanChatDlg::GetNetIP()
{

SetDlgItemText(IDC_NET_IP,"正在获取外网IP");
CString strsource;
CString Address;
CInternetSession mySession(NULL,0);
CHttpFile* myHttpFile=NULL;

Address="http://www.ip138.com/ip2city.asp";//ip138网页

myHttpFile=(CHttpFile*)mySession.OpenURL(Address);//读取网络地址

while(myHttpFile->ReadString(strsource))
{ //循环读取下载来的网页文本
// AddToLog(strsource);
int begin=0;
begin=strsource.Find("[",0);

if(begin!=-1)//如果找到"[", 则找"]" 中括号内的文本则是 你的外网ip
{ int end=strsource.Find("]");
m_internetip=strsource.Mid(begin+1,end-begin-1);//提取外网ip

SetDlgItemText(IDC_NET_IP,m_internetip);//在左下角显示外网ip
}
}

‘伍’ 怎么用c或者c++代码获取默认DNS服务器的ip

这里的代码可以打印出电脑默认的DNS服务器

#pragmawarning(disable:4996)
#include<stdio.h>
#include<WinSock2.h>
#include<iphlpapi.h>

#pragmacomment(lib,"IPHLPAPI.lib")
#pragmacomment(lib,"ws2_32.lib")
intmain()//获取本地主机名、域名和DNS服务器信息
{
//声明变量
FIXED_INFO*FixedInfo;//定义保存本地计算机网络参数信息的结构体指针
ULONGulOutBufLen;//保存获取到的本地计算机网络参数信息结构体链表的长度
DWORDdwRetVal;//调用GetNetworkParams()函数的返回值
IP_ADDR_STRING*pIPAddr;//保存所有DNS服务器的IP地址列表

FixedInfo=(FIXED_INFO*)GlobalAlloc(GPTR,sizeof(FIXED_INFO));//为FixedInfo结构体分配内存空间
ulOutBufLen=sizeof(FIXED_INFO);//初始化ulOutBufLen变量值

//第1次调用GetNetworkParams()函数,获取返回结果的大小到ulOutBufLen中
if(ERROR_BUFFER_OVERFLOW==GetNetworkParams(FixedInfo,&ulOutBufLen))
{
GlobalFree(FixedInfo);
FixedInfo=(FIXED_INFO*)GlobalAlloc(GPTR,ulOutBufLen);
}

//第2次调用GetNetworkParams()函数,以前面获取的ulOutBufLen作为参数,
if(dwRetVal=GetNetworkParams(FixedInfo,&ulOutBufLen)!=ERROR_SUCCESS)
{
printf("调用GetNetworkParams()函数失败。返回值:%08x ",dwRetVal);
}
else
{
printf(" DNS服务器列表: ");
printf("%s ",FixedInfo->DnsServerList.IpAddress.String);

pIPAddr=FixedInfo->DnsServerList.Next;
while(pIPAddr)
{
printf(" %s ",pIPAddr->IpAddress.String);
pIPAddr=pIPAddr->Next;
}
}
printf("按下回车键结束 ");
getchar();
return0;
}

‘陆’ 如何只用C语言,通过域名得到IP地址

#include<stdio.h>//printf
#include<string.h>//memset
#include<stdlib.h>//forexit(0);
#include<sys/socket.h>
#include<errno.h>//Forerrno-theerrornumber
#include<netdb.h>//hostent
#include<arpa/inet.h>

inthostname_to_ip(char*,char*);

intmain(intargc,char*argv[])
{
if(argc<2)
{
printf("");
exit(1);
}

char*hostname=argv[1];
charip[100];

hostname_to_ip(hostname,ip);
printf("%sresolvedto%s",hostname,ip);

printf(" ");

}
/*
Getipfromdomainname
*/

inthostname_to_ip(char*hostname,char*ip)
{
structhostent*he;
structin_addr**addr_list;
inti;

if((he=gethostbyname(hostname))==NULL)
{
//getthehostinfo
herror("gethostbyname");
return1;
}

addr_list=(structin_addr**)he->h_addr_list;

for(i=0;addr_list[i]!=NULL;i++)
{
//Returnthefirstone;
strcpy(ip,inet_ntoa(*addr_list[i]));
return0;
}

return1;
}

‘柒’ 怎么用c或者c++代码获取默认DNS服务器的ip

#include<windows.h>
#include<string>
#include<cstdio>
using namespace std;
int main()
{
system("ipconfig /all");//使用运行CMD.exe,并输入ipconfig /all,可得出本机所有物理地址信息(IP信息)
getchar();//获取记录信息
return 0;
}

‘捌’ 请问 C# 如何获取外网IP

本机是获取不到自己外网IP的,真的想要知道,你可以访问ip138这种网站,让这种网站获得你的IP再返回给你。有点儿像自己的眼睛是看不到自己长啥样,想要看得是镜子“获得”你的样子,然后再返还给你一样。

路由什么的是基于NAT的,根本不需要知道客户端的真实地址是什么,服务端地址固定住就好了。当客户端与服务端连接时(建立Sockets)经过路由,路由会NAT给客户端一个地址(包含IP和端口号两部分),服务端只需要往这个地址上发送信息,路由器识别你这个地址会自动转发给相应的真正的客户端的,这也就是路由的本身作用。

‘玖’ 怎么用C语言获取Linux系统的网卡IP地址

man exec 里面的函数可以用来执行命令

‘拾’ 编程:C语言编程取得本机ip地址

取本地地址
可以从“开始”-“程序”-“附件”-“命令提示符”里面输入英文“ipconfig/all”就可得到IP地址了,LINUX我也不太懂了。

阅读全文

与c如何获取服务器ip相关的资料

热点内容
密钥安装命令行 浏览:503
文献编译英文 浏览:657
php调用浏览器 浏览:525
数控车床编程初学实例 浏览:946
cad中筛选命令是什么 浏览:800
数控铣床法兰克编程 浏览:330
怎么样分解压缩包图标 浏览:619
php两年工作经验简历 浏览:763
怎么提前解压房贷 浏览:698
反诈宣传app哪里可以拿到用户资料 浏览:855
华为交换机命令配置 浏览:11
电机pid算法实例c语言 浏览:972
安装ue5未找到金属编译器 浏览:963
l1压缩性骨折微创手术 浏览:615
看电脑配置命令 浏览:108
单片机调用db数值偏移量 浏览:446
奔驰smart车型压缩机功率 浏览:527
服务器预留地址获取 浏览:1005
云库文件夹怎么设置 浏览:297
文件夹目录制作自动跳转 浏览:454