Con il comando telnet docs.python.org 80, posso fare una richiesta HTTP manuale http://docs.python.org/2/license.htmldigitando 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 HEADinvece di GET, si otterrà la stessa risposta di una GETrichiesta, ad eccezione del corpo del messaggio.
Quindi, usa HEADse 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.txtma non riesco a far funzionare il GETcomando.
GETpubblicato, viene visualizzato un408 Request Time-outerrore. Inoltre,wget http://docs.python.org/2/license.htmlnon è un'opzione?