只用C语言,怎么通过域名得到IP地址

 我来答
阳光里de微凉
2017-01-04 · TA获得超过263个赞
知道小有建树答主
回答量:653
采纳率:0%
帮助的人:202万
展开全部
查找的方法(07版为例): 1、在左下方开始键,点击之后出现搜索框 2、在搜索框内输入指令cmd运行 3、进入窗口,按照要求输入指令:nbtstat -a IP,ip地址为你所查询主机的ip地址。 4、这样就可以根据ip泛解析出域名。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效... 点击进入详情页
本回答由Storm代理提供
qiaole123
2017-01-04 · TA获得超过3413个赞
知道大有可为答主
回答量:1408
采纳率:66%
帮助的人:972万
展开全部
#include<stdio.h> //printf
#include<string.h> //memset
#include<stdlib.h> //for exit(0);
#include<sys/socket.h>
#include<errno.h> //For errno - the error number
#include<netdb.h> //hostent
#include<arpa/inet.h>

int hostname_to_ip(char *  , char *);

int main(int argc , char *argv[])
{
if(argc <2)
{
printf("Please provide a hostname to resolve");
exit(1);
}

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

hostname_to_ip(hostname , ip);
printf("%s resolved to %s" , hostname , ip);

printf("\n");

}
/*
Get ip from domain name
 */

int hostname_to_ip(char * hostname , char* ip)
{
struct hostent *he;
struct in_addr **addr_list;
int i;

if ( (he = gethostbyname( hostname ) ) == NULL) 
{
// get the host info
herror("gethostbyname");
return 1;
}

addr_list = (struct in_addr **) he->h_addr_list;

for(i = 0; addr_list[i] != NULL; i++) 
{
//Return the first one;
strcpy(ip , inet_ntoa(*addr_list[i]) );
return 0;
}

return 1;
}


结果:

$ gcc hostname_to_ip.c && ./a.out www.google.com
www.google.com resolved to 74.125.235.16

$ gcc hostname_to_ip.c && ./a.out www.msn.com
www.msn.com resolved to 207.46.140.34

$ gcc hostname_to_ip.c && ./a.out www.yahoo.com
www.yahoo.com resolved to 98.137.149.56
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式