您现在的位置是:首页 > 其他

李清波 2015-09-22 其他 1878 复制当前网址

PHP获取域名IP方法


其实获取域名对应服务器的IP很简单,我们PHP已经内置的函数直接获取


gethostbyname();

用法也很简单

$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.dlut.edu.cn";
  struct hostent *pHost;
  pHost=gethostbyname(szHostName);
  memcpy(&addr.s_un.s_addr,pHost->h_addr_list[0],pHost->h_length);
  IP=inet_ntoa(addr);
}


文章来源:http://liqingbo.com/blog-416.html

评论