Il modo più semplice per ottenere una risposta HTTPS grezza e non analizzata


39

Quale sarebbe il modo più semplice per fare una richiesta GET a un url su HTTPS e ottenere la risposta grezza e non analizzata?

Ciò potrebbe essere ottenuto con il ricciolo? In tal caso, quali opzioni dovresti usare?

Risposte:


51

Se vuoi usare curl, questo dovrebbe funzionare:

curl -D - https://www.google.com/

Si noti, tuttavia, che questa non è esattamente la risposta non elaborata. Ad esempio, la risposta di trasferimento a blocchi non sarà visibile nella risposta. Utilizzando --rawrisolve questo, -vè utile anche la modalità dettagliata ( ) e -imostra le intestazioni prima del corpo della risposta:

curl -iv --raw https://www.google.com/

Se si desidera utilizzare un cercapersone come meno sul risultato, è anche necessario disabilitare la barra di avanzamento ( -s):

curl -ivs --raw https://www.google.com/ | less

A seconda di ciò che si desidera fare, questo può o meno essere un problema.

Quello che ottieni sono tutte le intestazioni di risposta HTTP e il documento all'URL richiesto.


13

Ecco un modo semplice che mi viene in mente

echo 'GET / HTTP/1.1
Host: google.com

' | openssl s_client -quiet -connect google.com:443 2>/dev/null

si noti che alcuni server (ad esempio github.com) funzionano solo conHTTP/1.0
Steven Penny,

4

Non lo è curl, ma dovrebbe essere disponibile su quasi tutti gli Unices:

wget -S --spider https://encrypted.site

Se i messaggi di stato ti danno fastidio:

wget -S --spider https://encrypted.site 2>&1 | awk '/^  /'

Se vuoi terminazioni di riga CRLF:

wget -S --spider https://encrypted.site 2>&1 | awk '/^  / { sub(/$/,"\r"); print }'

Sai se questo preserverebbe i \r\npersonaggi nella risposta?
Ghianda

@Acorn - Prima di tutto, non tutti i server web risponderanno con \r\nun finale di linea. Non credo che questo lo conserverà in ogni caso, ma se questo è importante per te, aggiungerò un modo per ottenere quel risultato nella risposta.
Chris Down,

1
$ GET -e https://www.google.com

Su Debian / Ubuntu le distribuzioni appartengono al pacchetto lwp-request.

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.