PHP获取域名IP方法

2019-01-19 01:50:07 10744

gethostbyname();


用法也很简单


1

$ip = gethostbyname($yuming);

这样就可以直接过去对应域名下的服务器IP地址了。




分类:


函数定义:struct hostent *gethostbyname(const char *name)


函数说明:gethostbyname()会返回一个hostent结构,参数name可以为一个主机名或IPv4/IPv6的IP地址。


hostent结构说明如下:


  


struct hostent{

    char *h_name; /*正式的主机名称*/

    char **h_aliases; /* 指向主机名称的其他别名 */

    int h_addrtype; /* 地址的型态, 通常是AF_INET */

    int h_length; /*地址的长度*/

    char **h_addr_list; /* 从域名服务器取得该主机的所有地址 */

};



返回值 :成功返回hostent结构指针,失败则返回NULL指针, 错误原因存于h_errno变量中


错误代码:


HOST_NOT_FOUND 找不到指定的主机


NO_ADDRESS 该主机有名称却无IP地址


NO_RECOVERY 域名服务器有错误发生


TRY_AGAIN 请再调用一次


实例:


  


{

  char IP[32];

  in_addr addr;

  char szHostName[]="www.landui.com";

  struct hostent *pHost;

  pHost=gethostbyname(szHostName);

  memcpy(&addr.s_un.s_addr,pHost->h_addr_list[0],pHost->h_length);

  IP=inet_ntoa(addr);

}


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: