Avec la commande telnet docs.python.org 80
, je peux faire une demande HTTP manuelle http://docs.python.org/2/license.html
en tapant la demande réelle.
Maintenant, au lieu de le taper en direct, j'aimerais alimenter la demande à partir d'un fichier texte.
J'ai essayé ceci:
cat request.txt|telnet docs.python.org 80
request.txt :
GET /2/license.html HTTP/1.1
Host: docs.python.org
(Vous devez terminer le fichier avec une ligne vierge ou vous obtiendrez une mauvaise demande!)
Mais la connexion au serveur est immédiatement fermée.
Comment dois-je diriger correctement request.txt vers telnet docs.python.org 80
?
Éditer:
C'est bon à savoir; si vous utilisez HEAD
au lieu de GET
, vous obtiendrez la même réponse que si vous aviez fait une GET
demande, à l'exception du corps du message.
Donc, utilisez HEAD
si vous voulez simplement examiner les en-têtes HTTP. (c'est-à-dire pour que le contenu de la réponse n'encombre pas la sortie de votre shell.)
telnet docs.python.org 80
, vous devrez donc vous dépêcher et taper ces deux lignes (copier-coller si nécessaire) en quelques secondes ou le serveur retournera une erreur de temporisation.
telnet docs.python.org 80
<ENTER>
GET /2/license.html HTTP/1.1
<ENTER>
Host: docs.python.org
<ENTER>
<ENTER>
<ENTER>
une deuxième fois à la fin est que le protocole HTTP nécessite une ligne vide supplémentaire après les en-têtes de demande. Voir la section des messages de demande de l' article wiki HTTP
telnet < request.txt
mais je ne peux pas faire fonctionner la GET
commande.
GET
vous avez publié, j'obtiens une408 Request Time-out
erreur. De plus, n'est-cewget http://docs.python.org/2/license.html
pas une option?