GNU/Linux >> Znalost Linux >  >> Linux

Podávání obsahu textového souboru jako příkaz do telnetu

Použijte netcat (příkaz nc) spíše než "telnet", takže

cat request.txt | nc docs.python.org 80

Telnet je rychlý a snadný hack, ale netcat je zjevně ten správný nástroj pro tuto práci.


S telnet opravdu nemám žádné zkušenosti ale bere vstup z přesměrování souboru:

telnet < abc.txt

Správně se připojím k serveru takto:

$ 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.

Možná můžete přijít na to, jak dosáhnout toho, aby přijal GET příkaz, ale nemohl jsem. Alternativou je použití expect skript:

#!/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

Poté můžete skript uložit jako telnet.exp ,udělejte jej spustitelným a spusťte:

./telnet.exp > output.html

Linux
  1. Jak analyzovat každý řádek textového souboru jako argument příkazu?

  2. 4 způsoby, jak vytvořit textový soubor v terminálu Linux

  3. Vytvářejte soubory pomocí příkazového řádku v Linuxu

  1. Zobrazit výstup příkazu nebo obsah souboru ve formátu sloupce

  2. Příklady příkazů Linux Objdump (rozbalení binárního souboru)

  3. Jak nahradit text podobný sedu pythonem?

  1. Linux Tail Command

  2. Jak upravit textový soubor v mém terminálu

  3. Jak vymazat obsah souboru z příkazového řádku?