0

当我调用以下内容时:

file_get_contents('http://whgfdw.ca');

或者

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://whgfdw.ca');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);

返回值是位于本地(专用)网络服务器上的主站点主页的 HTML。如果有人能帮助我理解这一点,我将不胜感激?也许我忽略了一些东西。

我不能使用简单的 URL 验证,因为http://whgfdw.ca它是一个非常好的 URL;它只是没有 DNS 条目。

我理想的功能是能够捕获 DNS 查找失败或 404 或没有内容的情况,然后对其采取行动。谢谢!

4

1 回答 1

2

如果您收到有效响应,则该 DNS 条目存在于某处。它可能位于内部 DNS 服务器上、本地服务器的 /etc/hosts 文件中或堆栈中的其他位置,但底线是以某种方式解决它。所以问题变成了它解决的条目在哪里输入。可能有一个应用程序设置为将所有查找解析到本地服务器(类似于 openDNS 和许多 ISP 将未解析的 DNS 名称解析到其搜索页面的方式)。

鉴于它以某种方式得到解决,除非您将响应的内容与您期望的某些内容进行比较,否则实际上没有办法验证它。捕获 404 非常容易,您还可以在 php 中设置反向查找来捕获未解析的名称,我相信。但是我应该认为,您首先需要解决该决议。

于 2010-02-15T21:07:50.273 回答