Usa netcat (comando nc) invece di "telnet", quindi
cat request.txt | nc docs.python.org 80
Telnet è un hack facile e veloce, ma netcat è, a quanto pare, lo strumento giusto per il lavoro.
Non ho davvero alcuna esperienza con telnet
ma prende l'input dal reindirizzamento del file:
telnet < abc.txt
Posso farlo connettere correttamente al server come segue:
$ 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.
Forse puoi capire come fargli accettare il GET
comando ma non ci sono riuscito. Un'alternativa è usare un expect
script:
#!/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
Puoi quindi salvare lo script come telnet.exp
, rendilo eseguibile ed eseguilo:
./telnet.exp > output.html