ni2016c 2016-11-30 01:27 采纳率: 50%
浏览 1834
已采纳

使用libevent库进行dns解析获得的ip地址无法用来登入网页

用libevent库中的evdns_resolve_ipv4()函数来进行dns解析,回调函数中显示解析后的ip地址

  1. event_base *base=event_init();
  2. 103 evdns_init();
  3. 104 evdns_resolve_ipv4(ourl->domain,0,callback,ourl);//调用了evdns_ bas\
  4. 105 e_resolve_ipv4函数
  5. 106 event_dispatch();
  6. 107 event_base_free(base);

回调函数

  1. //dns解析回调函数
  2. 64 static void callback(int result,char type,int count,int ttl,void *addresses,void *arg){
  3. 65 Url *ourl=(Url *)arg;
  4. 66 struct in_addr *addrs=(in_addr *) addresses;
  5. 67
  6. 68 if(result!=DNS_ERR_NONE||count==0){//如果结果出错或者ip地址数量为0
  7. 69 LOG(S_ERROR,"dns 解析出错:%s \n",ourl->domain);
  8. 70 }
  9. 71 else{
  10. 72 char *ip=inet_ntoa(addrs[0]);
  11. 73 LOG(S_DEBUG,"dns 解析成功:%s \n",ourl->domain);
  12. 74 host_ip_map[ourl->domain]=strdup(ip);
  13. 75 ourl->ip=strdup(ip);
  14. 76 LOG(S_INFO,"ip 地址为:%s \n",ourl->ip);
  15. 77 push_ourlqueue(ourl);
  16. 78 printf("回调函数完成.\n");
  17. 79 }
  18. 80
  19. 81
  20. 82 event_loopexit(NULL);
  21. 83
  22. 84 }
  1. [2016/11/30 17:21][DEBUG][file:url.h][line:73]dns 解析成功:baidu.com
  2. [2016/11/30 17:21][INFO][file:url.h][line:76]ip 地址为:111.13.101.208

编译后解析baidu.com ,可以得到ip 为 111.13.101.208 。

  1. [2016/11/30 17:21][DEBUG][file:url.h][line:73]dns 解析成功:blog.csdn.net
  2. [2016/11/30 17:21][INFO][file:url.h][line:76]ip 地址为:60.205.8.179

解析blog.csdn.net 获得的ip 为 60.205.8.179 。

用解析baidu的ip可以访问baidu.com
用下面的ip地址却只能获得一个403 的错误提示。

求教这是什麽原因

展开全部

  • 写回答

1条回答 默认 最新

  • 哆啦做梦 2016-11-30 01:40
    关注

    HTTP 服务端对HostName 做了限制了。
    简单点说就是服务器只认可blog.csdn.net 这样的Hostname,对 60.205.8.179 这样的Hostname 不认。
    建议补习一下HTTP 协议啊。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 matlab中频率调制法代码的解读
  • ¥15 ceph的对象、块、文件相关问题求解答
  • ¥50 如果使用python进行ERA5 10米风场预报检验
  • ¥15 navicat解析mysql密码
  • ¥15 SDAPI(关键词-table)
  • ¥15 unity安卓打包出现问题
  • ¥20 安装catkin时遇到了如下问题请问该如何解决呢
  • ¥15 VAE模型如何输出结果
  • ¥15 编译python程序为pyd文件报错:{"source code string cannot contain null bytes"
  • ¥20 关于#r语言#的问题:广义加行模型拟合曲线后如何求拐点
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部