За допомогою команди telnet docs.python.org 80
я можу зробити запит HTTP вручну http://docs.python.org/2/license.html
, ввівши фактичний запит.
Тепер, замість того, щоб вводити його в прямому ефірі, я хотів би подати запит з текстового файлу.
Я спробував це:
cat request.txt|telnet docs.python.org 80
request.txt :
GET /2/license.html HTTP/1.1
Host: docs.python.org
(Ви повинні закінчити файл порожнім рядком, або ви отримаєте поганий запит!)
Але підключення до сервера негайно закривається.
Як я повинен правильно труби request.txt до telnet docs.python.org 80
?
редагувати:
Це добре знати; якщо ви використовуєте HEAD
замість GET
, ви отримаєте таку ж відповідь, як якщо б ви зробили GET
запит, за винятком корпусу повідомлення.
Отже, використовуйте, HEAD
якщо ви просто хочете вивчити заголовки HTTP. (тобто щоб вміст відповіді не захаращував ваш вихід оболонки.)
telnet docs.python.org 80
, тому вам доведеться поспішити і ввести ці два рядки (скопіювати пасту, якщо не буде) протягом декількох секунд, або сервер поверне помилку очікування.
telnet docs.python.org 80
<ENTER>
GET /2/license.html HTTP/1.1
<ENTER>
Host: docs.python.org
<ENTER>
<ENTER>
<ENTER>
другий раз в кінці, полягає в тому, що протокол HTTP вимагає додаткового порожнього рядка після заголовків запиту. Дивіться розділ повідомлення запиту про HTTP вікі статті
telnet < request.txt
але я не можу отримати GET
команду працювати.
GET
ви опублікували, я отримую408 Request Time-out
помилку. Такожwget http://docs.python.org/2/license.html
не є варіантом?