Как можно легко протестировать коды возврата HTTP, как, скажем, 301 перенаправление?
Например, если я хочу "видеть то, что продолжается", я могу использовать telnet, чтобы сделать что-то вроде этого:
... $ telnet nytimes.com 80
Trying 199.239.136.200...
Connected to nytimes.com.
Escape character is '^]'.
ДОБЕРИТЕСЬ / HTTP/1.0
(войти)
(войти)
HTTP/1.1 200 OK
Server: Sun-ONE-Web-Server/6.1
Date: Mon, 14 Jun 2010 12:18:04 GMT
Content-type: text/html
Set-cookie: RMID=007af83f42dd4c161dfcce7d; expires=Tuesday, 14-Jun-2011 12:18:04 GMT; path=/; domain=.nytimes.com
Set-cookie: adxcs=-; path=/; domain=.nytimes.com
Set-cookie: adxcs=-; path=/; domain=.nytimes.com
Set-cookie: adxcs=-; path=/; domain=.nytimes.com
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Cache-control: no-cache
Pragma: no-cache
Connection: close
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
...
Который является простым способом получить доступ к некоторому infos.
Но теперь я хочу протестировать это, 301 перенаправление является действительно 301 перенаправлением.
Как я могу сделать так?
В основном вместо того, чтобы получить HTTP/1.1 200 хорошо я хотел бы знать, как я могу получить 301?
Я знаю, что могу ввести имя URL в браузере и "видеть", что я перенаправляюсь, но я хотел бы знать то, к чему может привыкнуть инструмент (инструменты) на самом деле, действительно "посмотрите" это 301 перенаправление.
Btw, я действительно тестировал с telnet, но когда я ввожу www.example.org, который я перенаправил на example.org (без www), все, что я вижу, "200 хорошо", я не добираюсь для наблюдения 301.
Хорошо, через две минуты после ответа на вопрос я нашел ответ ...
Выполнение следующих действий не работает:
telnet www.example.org 80
GET / HTTP/1.0
{enter}
{enter}
Но следующее работает нормально:
telnet example.org 80
GET / HTTP/1.0
Host: www.example.org
{enter}
{enter}
Моя ошибка было передать www.example.org в telnet (вместо example.org ), а затем не указывать «Хост:» .
Теперь все работает, я получаю следующее:
Connected to xxx.xx
Escape character is '^]'.
GET / HTTP/1.0
Host: www.example.org
HTTP/1.1 301 Moved Permanently
Server: Apache-Coyote/1.1
Location: http://example.org/
Connection: close
Date: Mon, 14 Jun 2010 13:02:22 GMT
Connection: close
Connection closed by foreign host.
Примечание. В Windows Vista / 7 клиент Telnet не установлен по умолчанию. Чтобы установить его, следуйте инструкциям здесь: Установите клиент Telnet - Microsoft TechNet
Дополнение для Firefox Заголовки HTTP Live очень полезны для этого.
В заголовках (ответа telnet) вы увидите это в первой строке:
HTTP/1.1 301 Moved Permanently
Via: XXXXXXXXXXX
Connection: close
Proxy-Connection: close
Content-Length: 0
Date: Mon, 14 Jun 2010 13:03:14 GMT
Location: /xxxxxxxxx
Server: XXXXXXX
Cache-Control: private
Спасибо