$_POST['url'] = 'fight.com';
$host = gethostbyname($_POST['url']); //get IP
echo $host . " ";
$ip = gethostbyaddr($host); //get hostname
echo $ip;
预期的正确结果是:
50.31.210.85 unknown.servercentral.net
确实是我在http://writecodeonline.com/php/
上测试的时候但是当我在Windows机器上运行此代码时,我得到:
50.31.210.85 fight.com
我测试了很多不同的域,是因为Windows还是其他一些配置问题?
答案 0 :(得分:2)
Windows计算机上的主机文件或Windows计算机使用的DNS具有记录,其绑定50.31.210.85
的反向映射,以解析为fight.com
您可以使用以下两个命令轻松测试案例:
nslookup 50.31.210.85
nslookup 50.31.210.85 8.8.8.8
第一个应该返回fight.com
,因为它将使用您的机器DNS
第二个应该返回unknown.servercentral.net
,因为它将使用Google开放DNS