Alimentation du contenu d'un fichier texte comme commande à Telnet

Avec la commande telnet docs.python.org 80 , je peux faire une requête HTTP manuelle à http://docs.python.org/2/license.html en tapant la requête réelle.

Maintenant, au lieu de le taper en direct, je souhaite 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 fermée immédiatement.

Comment puis-je telnet docs.python.org 80 correctement request.txt pour telnet docs.python.org 80 ?


modifier:

C'est bon à savoir; Si vous utilisez HEAD au lieu de GET , vous obtiendrez la même réponse que si vous avez fait une requête GET , à l'exception du corps du message.
Donc, utilisez HEAD si vous voulez simplement examiner les en-têtes HTTP. (C.-à-d. Pour que le contenu de la réponse n'écrase pas votre sortie shell).

2 Solutions collect form web for “Alimentation du contenu d'un fichier texte comme commande à Telnet”

Utilisez netcat (commande nc) plutôt que "telnet", donc

 Demande de chat.txt |  Nc docs.python.org 80

Telnet est un hack rapide et facile, mais netcat est apparemment l'outil approprié pour le travail.

Je n'ai vraiment aucune expérience avec telnet mais cela ne prend pas compte de la redirection de fichier:

 telnet < abc.txt 

Je peux l'obtenir pour me connecter au serveur correctement comme suit:

 $ cat abc.txt open docs.python.org 80 $ telnet < abc.txt telnet> Trying 82.94.164.162... Connected to dinsdale.python.org. Escape character is '^]'. Connection closed by foreign host. 

Peut-être que vous pouvez comprendre comment accepter la commande GET mais je ne pouvais pas. Une alternative est d'utiliser un script expect :

 #!/usr/bin/expect spawn telnet docs.python.org 80 expect "Escape character is '^]'." { send "GET /2/license.html HTTP/1.1\nHost: docs.python.org\n\n" } interact 

Vous pouvez ensuite enregistrer le script sous telnet.exp , le rendre exécutable et l'exécuter:

 ./telnet.exp > output.html 
  • Comment inverser le schéma de couleurs des pages Web dans Firefox?
  • Version douce de NoScript
  • Chrome: Sélection d'un lien en effectuant la recherche sur son texte
  • Comment personnaliser la résolution d'écran signalée à une application JavaScript par un navigateur?
  • Comment puis-je héberger plusieurs serveurs Web physiques derrière une seule adresse IP?
  • Est-il possible pour plusieurs noms de domaine de partager une adresse IP?
  • Hébergement Web à la maison sur Old Hardware
  • Connexion automatique à Vodafone Community WiFi (Fon) via un script Unix
  • Enregistrez une seule page Web (avec des images en arrière-plan) avec Wget
  • Pourquoi certains sites Web ne sont-ils pas accessibles depuis un ordinateur sur un réseau?
  • Comment le navigateur Web détermine-t-il quand utiliser IPv4 ou IPv6 pour se connecter à la destination?
  • Soyons le génie de l'ordinateur et du réseau.