Za pomocą polecenia telnet docs.python.org 80mogę wykonać ręczne żądanie HTTP http://docs.python.org/2/license.html, wpisując rzeczywiste żądanie.
Teraz zamiast wpisywać go na żywo, chciałbym nakarmić żądanie z pliku tekstowego.
Próbowałem tego:
cat request.txt|telnet docs.python.org 80
request.txt :
GET /2/license.html HTTP/1.1
Host: docs.python.org
(Musisz zakończyć plik pustą linią, inaczej dostaniesz złe żądanie!)
Ale połączenie z serwerem jest natychmiast zamykane.
W jaki sposób należy prawidłowo rura request.txt do telnet docs.python.org 80?
edytować:
Dobrze wiedzieć; jeśli użyjesz HEADzamiast GET, otrzymasz taką samą odpowiedź, jak w przypadku GETżądania, z wyjątkiem treści wiadomości.
Tak więc użyj, HEADjeśli chcesz tylko sprawdzić nagłówki HTTP. (tzn. aby treść odpowiedzi nie zaśmiecała danych wyjściowych powłoki).
telnet docs.python.org 80, więc będziesz musiał się spieszyć i wpisać te dwie linie (skopiuj wklej, jeśli jest to konieczne) w ciągu kilku sekund, inaczej serwer zwróci błąd przekroczenia limitu czasu.
telnet docs.python.org 80 <ENTER> GET /2/license.html HTTP/1.1 <ENTER> Host: docs.python.org <ENTER> <ENTER>
<ENTER>po raz drugi na końcu, jest to, że protokół HTTP wymaga dodatkowej pustej linii po nagłówkach żądania. Zobacz sekcję dotyczącą wiadomości żądania w artykule wiki HTTP
telnet < request.txtale nie mogę uruchomić GETpolecenia.
GETopublikowanego przez ciebie408 Request Time-outkomunikatu pojawia się błąd. Ponadtowget http://docs.python.org/2/license.htmlnie ma opcji?