域名解析gethostbyname,错误:Host name lookup failure

slbbls 2010-10-25 07:37:53
不知这是什么原因造成的?
高手指教
...全文
5792 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
slbbls 2010-10-25
  • 打赏
  • 举报
回复
果然是这样的,我一直以为pppd拨号成功后他会设置好dns的,我看他拨号成功后显示了dns服务器的ip地址
steptodream 2010-10-25
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 slbbls 的回复:]

我也觉得是DNS的问题
ping也是报这个错
[/Quote]
就是DNS解析的问题
我在我这里测试你的代码了 我注释掉/etc/resolv.conf里的DNS就报错 取消注释就OK


[root@CentOS ~]# cat /etc/resolv.conf
#nameserver 10.110.108.1
[root@CentOS ~]# ./gethost
----------------------------------------------------
gethostbyname: Host name lookup failure
[root@CentOS ~]# vi /etc/resolv.conf
[root@CentOS ~]# cat /etc/resolv.conf
nameserver 10.110.108.1
[root@CentOS ~]# ./gethost
----------------------------------------------------
Host name : www.a.shifen.com
IP Address : 220.181.6.175
----------------------------------------------------
slbbls 2010-10-25
  • 打赏
  • 举报
回复
我也觉得是DNS的问题
ping也是报这个错
steptodream 2010-10-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 slbbls 的回复:]

我是pppd拨号的,拨号成功后应该设置好DNS了吧
[/Quote]
那你ping www.baidu.com试试 我觉得是你DNS解析的问题
slbbls 2010-10-25
  • 打赏
  • 举报
回复
我是pppd拨号的,拨号成功后应该设置好DNS了吧
steptodream 2010-10-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 slbbls 的回复:]

除了gethostbyname外,还有没有别的方法从域名里获取ip
[/Quote]
汗 我刚才似乎说错了 应该是解析失败了 你的机器设置了DNS了吗?你的机器能进行DNS解析吗?做如下操作 再测试你的程序
echo "nameserver 8.8.8.8" > /etc/resolv.conf
slbbls 2010-10-25
  • 打赏
  • 举报
回复
printf("----------------------------------------------------\n");
if ((h=gethostbyname("www.baidu.com")) == NULL) {
herror("gethostbyname");
exit(1);
}
printf("Host name : %s\n", h->h_name);
printf("IP Address : %s\n",inet_ntoa(*((struct in_addr *)h->h_addr)));
printf("----------------------------------------------------\n");

代码估计是对的,我在虚拟机上是可以的,在板子上gethostbyname函数返回就为NULL
slbbls 2010-10-25
  • 打赏
  • 举报
回复
除了gethostbyname外,还有没有别的方法从域名里获取ip
steptodream 2010-10-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 slbbls 的回复:]

是要在hosts里配置主机名称吗??
[/Quote]
要不你把你代码贴出来 让大家看看 我不太会编程
slbbls 2010-10-25
  • 打赏
  • 举报
回复
是要在hosts里配置主机名称吗??
steptodream 2010-10-25
  • 打赏
  • 举报
回复
找了个例子 你还是看看这个例子吧
http://blog.csdn.net/hello_wyq/archive/2006/09/05/1180337.aspx
steptodream 2010-10-25
  • 打赏
  • 举报
回复
使用这个函数 貌似你要设置好/etc/hosts这个文件 格式如下
ip hostname

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧