Ответ 1
Извините за злоупотребление полем ответа для того, что, вероятно, должно быть комментарием, но я не могу действительно думать о том, как правильно представить эту информацию в противном случае. Я, честно говоря, еще не знаю, как выбить их комментарии в любую правильно отображаемую и отформатированную фигуру.: - |
В любом случае, поскольку ваш код должен работать нормально, но для вас он всегда перенастраивает "все ОК", пока вы проверяете ответ HTTP, может быть, ваш интернет-провайдер делает DNS-highjacking, который в основном возвращает фальшивые данные ip-адреса, перенаправляя вас на свой собственный сервер, как правило, для денежной прибыли под видом дружелюбия. (ISP-страница, которая показывает, что" эта страница не существует" в сочетании с объявлениями или предложением таких услуг, как регистрация домена и т.д.)
простой способ тестирования - просто запросить данные DNS с помощью приложения, такого как dig. Запрос на правильно функционирующий DNS-сервер для несуществующего домена должен вернуть NXDOMAIN в качестве его статуса:
поэтому, когда мы проверяем полностью поддельный домен notexisting.fake
с помощью следующей команды:
dig A notexisting.fake.
, это то, что он обычно должен дать:
[email protected]_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.
[email protected]_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
и возвращает нам ip-адрес, найденный для записи 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
Итак, если ваш запрос для фальшивого домена возвращает IP-адрес, то вы знаете, что проблема связана с вашим DNS, и ваш isp, без сомнения, перенаправляет каждый несуществующий запрос на собственный сервер, возится с вашим "мой сайт вверх" стратегии ", так как вы получите статус 200 OK, но это будет эффективно от самозванца.
Если это так, вы можете:
- измените свой DNS-сервер: используйте Google Public DNS (8.8.8.8 и 8.8.4.4) или opendns (208.67.222.222 и 208.67.220.220)
- умолять/жаловаться на ваш isp, чтобы они могли изменить эту политику или предоставить вам собственный DNS-сервер без перенаправления.
- запустите свой собственный DNS-сервер для личного поиска, если он разрешен в вашей сети.