Utilità Linux per eseguire richieste HTTP ed esaminare risposte non elaborate


2

Sto imparando a conoscere il protocollo HTTP e vorrei sapere se esiste uno strumento che posso usare per inserire una richiesta HTTP che ho creato da me stesso che produrrà la risposta grezza. Ho dato un'occhiata a cURL e wget ma non sembrano avere un'ovvia opzione per farlo. Per esempio:

$ http_response < my_http_request.txt
HTTP/1.0 200 OK
Date: Sat, 24 Jul 2010 18:43:58 GMT
etc..

Risposte:


9

Molte persone lo consiglieranno telnetper questo, e funziona, ma preferisco usare netcat. Il motivo è che è telnetstato progettato per funzionare con un protocollo particolare, il protocollo TELNET (che non sono nemmeno sicuro che qualcuno usi più ...), quindi ha tutti i tipi di campane e fischietti (cioè riconosce un sacco di opzioni e comandi e caratteri di escape) che sono completamente irrilevanti per HTTP. D'altra parte, netcatprende semplicemente il suo input standard e lo invia, byte per byte, attraverso la rete. Niente di più. Questo è esattamente ciò di cui hai bisogno per inviare una richiesta HTTP non elaborata.

Esistono varie versioni di, netcatma generalmente il loro utilizzo è lo stesso di telnet:

netcat host port < my_http_request.txt

(sul mio computer il nome del programma è nc6piuttosto che netcat, quindi sostituirlo come appropriato)


1
Può anche essere chiamato nc.
Dennis Williamson,

Bene, volevo solo sottolineare che ci sono nomi diversi, quindi Ross saprebbe davvero controllare il nome del file in qualunque versione di netcatlui installi, piuttosto che usare semplicemente " netcat" senza pensare.
David Z,

Vedo questa risposta ovunque ma non funziona per la codifica in blocchi. Mi sto strappando i capelli qui ... perché tutti usano questo e nessuno si rende conto che non si ottiene in realtà la risposta grezza corretta in tutti i casi ?? !!
sciocco Lunatico

1

È molto semplice. Usa telnet sulla porta 80. telnet www.example.com 80 < your_http_request.txt


1

Ho usato la versione autonoma di WebScarab con successo.
Ho avuto meno successo con la versione di Java Web Start, anche se potrebbe funzionare per te.

WebScarab è un framework per l'analisi delle applicazioni che comunicano utilizzando i protocolli HTTP e HTTPS. È scritto in Java ed è quindi portabile su molte piattaforme. WebScarab ha diverse modalità operative, implementate da una serie di plugin. Nel suo utilizzo più comune, WebScarab funziona come proxy di intercettazione, consentendo all'operatore di rivedere e modificare le richieste create dal browser prima che vengano inviate al server e di rivedere e modificare le risposte restituite dal server prima che vengano ricevute dal browser . WebScarab è in grado di intercettare sia la comunicazione HTTP che HTTPS. L'operatore può anche rivedere le conversazioni (richieste e risposte) che sono passate attraverso WebScarab.

Immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.