时间:2021-07-01 10:21:17 帮助过:17人阅读
|
本文介绍下,用php实现的一段查询dns域名信息的代码,有需要的朋友参考下。
在php中与域名相关的操作,一般会用到二个函数,它们分别是:gethostbyname() 与gethostbyaddr()。 一,IP地址查询 gethostbyname()函数,可以用来查找一个给定的域名的IP地址。 gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。 string gethostbyname(string hostname) 参数:主机名,不需要http://,例如:bbs.it-home.org。 本函数可返回某个机器名称 (Domain Name) 的 IP 网址 (IP Address)。若执行失败,则返回原来的机器名称。 二,域名查询 gethostbyaddr 返回机器名称。 语法: string gethostbyaddr(string ip_address); 返回值: 字符串 函数种类: 网络系统 内容说明 本函数可返回某个 IP 网址的机器名称 (Domain Name)。若执行失败,则返回原来的 IP 网址。 三,实例 以下代码实现域名IP地址与域名查询,是个不错的例子。
* lookup failed *';
// Get submitted host/domain name
$dn = isset($_REQUEST['dn']) ? $_REQUEST['dn'] : '';
if ($dn == $prompt_dn)
{
$dn = '';
}
// Get submitted ip address
$ip = isset($_REQUEST['ip']) ? $_REQUEST['ip'] : '';
if ($ip == $prompt_ip)
{
$ip = '';
}
// Check if host/domain name specified
if ($dn)
{
// Domain name specified; IP address lookup request
if ($dn == 'me')
{
$ip = $_SERVER['REMOTE_ADDR'];
}
else
{
// Lookup IP address by domain/host name
$ip = @gethostbyname($dn);
if ($ip == $dn)
{
$ip = $lookupfail;
}
}
$message = $prompt_dn.' '.$dn.' :: '.$prompt_ip.' '.$ip;
}
// Check if IP address specified
else if ($ip)
{
// Lookup domain/host name by IP address
$dn = @gethostbyaddr($ip);
// Check lookup
if ($dn == $ip)
{
// IP address invalid or domain name not found
$dn = $lookupfail;
}
$message = $prompt_ip.' '.$ip.' :: '.$prompt_dn.' '.$dn;
}
else
{
$message = $prompt_dn.' '.$_SERVER['HTTP_HOST']
.' :: '.$prompt_ip.' '.$_SERVER['SERVER_ADDR'];
}
?>
以上代码,图示:
|