【发布时间】:2016-10-16 14:20:36
【问题描述】:
我正在编写一个 PHP 脚本来尝试将模糊的 URL(例如输入 facebook.com)解析为绝对 URL(例如 https://www.facebook.com);类似于您的浏览器每天使用 PHP 所做的事情。
到目前为止,我得到了以下代码:
$link = gethostbyname("facebook.com");
这提供了一个有效的 IPV4 地址,但是当我使用反向查找时:
$link2 = gethostbyaddr($link);
我希望收到像“https://www.facebook.com”这样的有效 URL,但我收到了像“'edge-star-mini-shv-13-atn1.facebook.com'”这样的垃圾
这就打破了使用 fopen 或 curl 尝试阅读网页内容的希望。
谁能解释这里出了什么问题以及我该如何解决?
编辑:尝试像“google.co.uk”这样的不安全网址会返回“'lhr25s10-in-f3.1e100.net'”,因此它与安全 HTTP (HTTPS) 无关
【问题讨论】:
-
@C0dekid - 是的。 “google.co.uk”提供“'lhr25s10-in-f3.1e100.net'”,这根本不安全
-
等一下.. host 是这个 IP 托管的域,使用 GeoIP 工具并自己查看。 Hostbyaddr 不是网站链接。
-
根据 PHP.net (php.net/manual/en/function.gethostbyaddr.php) 是
-
试试
tracert facebook.com或linuxtraceroute facebook.com你会看到很多垃圾。这些是主机名。 -
主机名不是 URL。
标签: php gethostbyaddr