[Linux网络编程]域名转换函数族--使用gethostbyname函数2

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
int main(int argc,char *argv[])
{
  char *ptr,**pptr;
  struct hostent *hptr;
  struct in_addr hpaddr;
  //使用argv[1]作为参数
  ptr = argv[1];
  //调用gethostbyname函数,将结果存放到hptr中
  if((hptr = gethostbyname(ptr))== NULL)  //如果调用函数失败
  {
    printf("解析域名%s失败.\n",ptr);
    return 0;
  }
  printf("目标的官方域名是%s\n",hptr->h_name);
  //由于目标可能有多个别名,所以统统打印
  for(pptr = hptr->h_aliases;*pptr != NULL;pptr++)
  {
    printf("目标的别名是%s\n",*pptr);
  }
  //根据地址类型输出地址
  switch(hptr->h_addrtype)
  {
    case AF_INET:
    case AF_INET6:   //针对IPV4和IPV6均进行如下操作,因为之前没有break
    {
      pptr = hptr -> h_addr_list;
      for(;*pptr != NULL;pptr++)
      {
        memcpy(&hpaddr,pptr,4);
        printf("目标地址是:%s\n",inet_ntoa(hpaddr));
      }
    }
    break;  
    default:
      printf("未知的地址类型\n");
  }
  return 0;
}

网站题目:[Linux网络编程]域名转换函数族--使用gethostbyname函数2
本文URL:http://www.hxwzsj.com/article/peogjh.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 成都网站制作 成都网站制作 重庆网站建设 成都商城网站制作 公司网站建设 营销网站建设 专业网站设计 定制网站设计 网站设计 定制级高端网站建设 手机网站建设 重庆企业网站建设 宜宾网站设计 手机网站制作 定制网站制作 成都网站建设 成都网站设计公司 专业网站设计 成都网站设计 网站建设公司 手机网站建设 成都网站建设