很抱歉滥用可能应该是评论的答案字段,但我真的想不出一种方法来正确呈现此信息。老实说,我还不知道如何将他们的评论变成任何正确显示和格式化的形状。:-|
无论如何,由于您的代码应该可以正常工作,但对您来说,在您检查 HTTP 响应时它总是会返回“一切正常”,这可能是您的 ISP 正在执行DNS-highjacking,这基本上是返回虚假的 IP 地址数据,重定向您访问他们自己的服务器,通常以用户友好为幌子获取金钱利益。(显示“此页面不存在”的 ISP 页面与广告或域名注册等服务的提供相结合。)
一种简单的测试方法是使用dig 之类的应用程序请求 DNS 数据。对不存在域的正常运行 DNS 服务器的查询应返回 NXDOMAIN 作为其状态:
notexisting.fake
因此,当我们使用以下命令
检查完全虚假的域时:dig A notexisting.fake.
通常应该给出以下内容:
harald@Midians_Gate:~$ dig A notexisting.fake.
; <<>> DiG 9.7.3 <<>> A notexisting.fake.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 28725
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;notexisting.fake. IN A
;; AUTHORITY SECTION:
. 1780 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2012061700 1800 900 604800 86400
;; Query time: 24 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Jun 17 18:05:10 2012
;; MSG SIZE rcvd: 109
如您所见,要求这个不存在的域notexisting.fake.
返回我们
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 28725
而当我们查询 google.com 时,使用dig A google.com.
harald@Midians_Gate:~$ dig A google.com.
; <<>> DiG 9.7.3 <<>> A google.com.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13223
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 300 IN A 74.125.132.138
google.com. 300 IN A 74.125.132.139
google.com. 300 IN A 74.125.132.101
google.com. 300 IN A 74.125.132.113
google.com. 300 IN A 74.125.132.100
google.com. 300 IN A 74.125.132.102
;; Query time: 29 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Jun 17 18:05:20 2012
;; MSG SIZE rcvd: 124
我们的查询返回正确的 NOERROR
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13223
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0
并返回为 A 记录找到的 IP 地址
;; ANSWER SECTION:
google.com. 300 IN A 74.125.132.138
google.com. 300 IN A 74.125.132.139
google.com. 300 IN A 74.125.132.101
google.com. 300 IN A 74.125.132.113
google.com. 300 IN A 74.125.132.100
google.com. 300 IN A 74.125.132.102
因此,如果您对假域名的查询返回一个 IP 地址,那么您就知道问题出在您的 DNS 上,并且您的 isp 无疑会将每个不存在的请求重定向到他们自己的服务器,从而扰乱了您的“是我的站点启动策略”,因为您将获得 200 OK 状态,但实际上是来自冒名顶替者。
如果是这种情况,那么您只能:
- 更改您的 DNS 服务器:使用Google 公共 DNS(8.8.8.8 和 8.8.4.4)或opendns(208.67.222.222 和 208.67.220.220)
- 恳求/投诉您的 isp,让他们更改此政策或为您提供您自己的非重定向 DNS 服务器
- 如果您的网络允许,则运行您自己的私有 DNS 服务器进行个人查找。