2013-04-02 22 views

risposta

15

telnet ServerName 80


GET /index.html

30

si potrebbe fare

telnet stackoverflow.com 80 

e quindi incollare

GET /questions HTTP/1.0 
Host: stackoverflow.com 


# add the 2 empty lines above but not this one 

H ere è una trascrizione

$ telnet stackoverflow.com 80 
Trying 151.101.65.69... 
Connected to stackoverflow.com. 
Escape character is '^]'. 
GET /questions HTTP/1.0 
Host: stackoverflow.com 

HTTP/1.1 200 OK 
Content-Type: text/html; charset=utf-8 
... 
+0

Hrm, ha funzionato bene per me (e anche l'intestazione 'Accetta' non era necessaria). Se lo si esegue abbastanza rapidamente (e con le stesse intestazioni di un browser reale), sarebbe letteralmente impossibile distinguere tra una richiesta CLI e una da un browser. L'unico modo per discriminare sarebbe guardare a un contesto più ampio (es. Richieste di follow-up o la loro mancanza, o il loro tempismo, ma anche in questo caso non è deterministico in quanto un utente potrebbe utilizzare un'estensione o un'impostazione per disabilitare il caricamento di risorse esterne). – jdunk

+0

C'erano degli spazi extra all'inizio delle righe che causavano una risposta 'HTTP/1.1 400 Bad Request'. Ho risolto e incluso una trascrizione. Saluti. –

4

Ai posteri, la sua domanda era come inviare una richiesta HTTP a https://stackoverflow.com/questions. La vera risposta è: non puoi con telnet, perché questo è un URL raggiungibile solo da https.

Quindi, si potrebbe desiderare di utilizzare openssl invece di telnet, come questo per esempio

$ openssl s_client -connect stackoverflow.com:443 
... 
--- 
GET /questions HTTP/1.1 
Host: stackoverflow.com 

Questo vi darà la risposta https.

Problemi correlati