Casomani dovete studiarvi un protocollo che usa gli HEADER HTTP il modo migliore per visualizzare le risposte di un server è quello di usare una shell ed un client telnet.
Il funzionamento è banale, prima di tutto facciamo aprire una sessione telnet sul server che ospita il sito/applicazione
[code]fullo@tartar# telnet miohost.com 80[/code]
a questo punto in sessione iniziamo a fare un GET dell’url ReST che ci interessa, specificando il protocollo da usare ed indichiamo l’host di riferimento seguito da un doppio invio.
[code]
fullo@tartar# telnet miohost.com 80
Trying 212.235.215.666…
Connected to miohost.com (212.235.215.666).
Escape character is ‘^]’.
GET /api/v1/blogs;id=666/ HTTP/1.1
host: miohost.com
[/code]
il risultato sarà quindi:
[code]
HTTP/1.1 200 OK
Connection: close
Content-Length: 148
Expires: Tue, 08 May 2007 10:57:13 GMT
Vary: Cookie
Last-Modified: Tue, 08 May 2007 09:57:13 GMT
ETag: dbdfe92c32166b674a94911ae7a22e14
Cache-Control: max-age=3600
Date: Tue, 08 May 2007 09:57:13 GMT
Content-Type: text/xml
Server: lighttpd/1.4.13
…
[/code]
a questo punto possiamo comodamente studiare cosa viene restituito negli HEADER HTTP per lavorare (ad esempio) su un client che supporti il conditional get… :)
ciuaz
5 replies on “Leggere gli HEADER HTTP con Telnet”
Se non ti interessa la sessione interattiva puoi usare anche il comando netcat. Ad esempio:
echo -e “GET /api/v1/blogs;id=666/ HTTP/1.1\nhost: miohost.com” | nc miohost.com 80
ottimo suggerimento! non avevo minimamente pensato a netcat
Al posto di GET, che restituisce anche l’intero contenuto della pagina, si può usare HEAD, che restituisce invece i soli header :)
Non è che avete un esempio anche in windows?
Purtroppo le mie basi di linux sono ormai inutilizzabili…
e nel caso dovessi autenticarmi con utente e password ?