当前位置:  技术问答>linux和unix

关于gethostbyname的一个疑问

    来源: 互联网  发布时间:2017-02-14

    本文导语:  为什么用这个函数得到的  ip有时候不对  比如用 www.sina.com 就不对。。。显示中搜公司还有 用 baidu.com  和www.baidu.com也不一样 后者是北京市 百度蜘蛛  前者是百度公司 (我每次都是 用 ip网站查的,来进行...

为什么用这个函数得到的  ip有时候不对  比如用 www.sina.com 就不对。。。显示中搜公司还有 用 baidu.com  和www.baidu.com也不一样 后者是北京市 百度蜘蛛  前者是百度公司
(我每次都是 用 ip网站查的,来进行比对)

具体代码如下

#include
#include
#include
int main(int argc,char ** argv)
{
   struct hostent * phost;
   char *hostname=argv[1];
   char *h_name;
   char  **aliases;
   char ** ip_addr;
   int iptype;
   char   str[32]; 
   int counter=1;

   if((phost=gethostbyname(hostname))==NULL){    //get pointer of host
    printf("no such name n");
   }

   printf("standard name------>%snn",phost->h_name);//official name

   for(aliases=phost->h_aliases;*aliases!=NULL;aliases++)
   { 
      printf("its aliases name---->%snn",*aliases);  // alaises 
   }
   
   if(phost->h_addrtype==AF_INET)   // type of ip
   { 
     printf("IPTYPE------->      IPV4nn");
   }
   else if(phost->h_addrtype==AF_INET6)
   { 
       printf("IPTYPE------->      IPV6nn");
   }

    printf("the address lenght--->%dnn",phost->h_length);  //length of ip
   
   ip_addr=phost->h_addr_list;          //ip address
   while( *ip_addr!=NULL)
   {
     printf("the %d th address ----->%snn",counter,inet_ntop(phost->h_addrtype,*ip_addr,str,sizeof(str)));
     counter++;
     ip_addr++;
   }


}
   

|

    #define DEF_SERV_NAME "domain"
  #define DEF_SERV_PROTO "udp"
  #define DEF_SERV_PORT 53
  
  int main(int argc, char *argv[])
  {
   unsigned char ans[ANS_LEN];
   int len, i;
   ns_msg ns;
   ns_rr rr;
   in_addr in;
   struct servent *se;
  
   if (argc s_port ?: htons(DEF_SERV_PORT);
   if (strcasecmp(se->s_proto, DEF_SERV_PROTO))
   {
   _res.options |= RES_USEVC;//使用TCP而非UDP协议
   }
   }
  
   if ((len = res_query(argv[1], ns_c_in, ns_t_a, ans, ANS_LEN)) 

    
 
 

您可能感兴趣的文章:

  • 一个gethostbyname的疑问
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于gethostbyname弱爆了,救命啊
  • 如何使gethostbyname()超时返回,不要永远阻塞
  • 急,gethostbyname_r,gcc编译时要指定特别的库吗?
  • 程序中使用gethostbyname出现段错误
  • #请问nslookup和程序中使用gethostbyname为什么结果不同?
  • gethostbyname
  • 关于/etc/resolv.conf和gethostbyname
  • 关于中断gethostbyname的问题
  • 域名解析gethostbyname,错误:Host name lookup failure
  • linux网络编程中gethostbyname、gethostbyaddr函数的用法
  • 初学者求救:gethostbyname的应用,看看看错在哪里?谢谢。。。
  • 关于linux socket下的gethostbyname()这个函数的IP问题
  • gethostbyname非阻塞还是自己设计dns?
  • 有没有什么方法使gethostbyname和connect这些行为能够超时结束?
  • gethostbyname所得ip不能使用
  • 不显示删除回复显示所有回复显示星级回复显示得分回复 ubuntu10.04 安装 mysql4.0 源码出错,提示gethostbyname_r的参数数量不对
  • linux获取主机名后用gethostbyname() 不能获取主机ip
  • [进者有分]c 中gethostbyname()的源代码是什么?
  • gethostbyname_r内部出错到问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3