Con il comando telnet docs.python.org 80
, posso fare una richiesta HTTP manuale http://docs.python.org/2/license.html
digitando la richiesta effettiva.
Ora, invece di digitarlo dal vivo, mi piacerebbe alimentare la richiesta da un file di testo.
Ho provato questo:
cat request.txt|telnet docs.python.org 80
request.txt :
GET /2/license.html HTTP/1.1
Host: docs.python.org
(Devi finire il file con una riga vuota o otterrai una cattiva richiesta!)
Ma la connessione al server viene chiusa immediatamente.
Come devo correttamente pipe request.txt a telnet docs.python.org 80
?
modificare:
Buono a sapersi; se si utilizza HEAD
invece di GET
, si otterrà la stessa risposta di una GET
richiesta, ad eccezione del corpo del messaggio.
Quindi, usa HEAD
se vuoi solo esaminare le intestazioni HTTP. (vale a dire in modo che il contenuto della risposta non ingombra l'output della shell.)
telnet docs.python.org 80
, quindi dovrai affrettarti e digitare quelle due righe (copia incolla se necessario) entro pochi secondi o il server restituirà un errore di timeout.
telnet docs.python.org 80
<ENTER>
GET /2/license.html HTTP/1.1
<ENTER>
Host: docs.python.org
<ENTER>
<ENTER>
<ENTER>
una seconda volta alla fine sia perché il protocollo HTTP richiede una riga vuota aggiuntiva dopo le intestazioni della richiesta. Vedi la sezione del messaggio di richiesta dell'articolo wiki HTTP
telnet < request.txt
ma non riesco a far funzionare il GET
comando.
GET
pubblicato, viene visualizzato un408 Request Time-out
errore. Inoltre,wget http://docs.python.org/2/license.html
non è un'opzione?