GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Inhalt einer Textdatei als Befehl an Telnet übergeben

Verwenden Sie netcat (Befehl nc) statt "telnet", also

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

Telnet ist ein schneller und einfacher Hack, aber netcat ist anscheinend das richtige Werkzeug für diesen Job.


Ich habe keine wirkliche Erfahrung mit telnet aber es braucht Eingaben von der Dateiumleitung:

telnet < abc.txt

Ich kann es wie folgt dazu bringen, sich korrekt mit dem Server zu verbinden:

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

Vielleicht können Sie herausfinden, wie Sie es dazu bringen, GET zu akzeptieren befehlen, aber ich konnte nicht. Eine Alternative ist die Verwendung eines 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

Sie können das Skript dann als telnet.exp speichern , machen Sie es ausführbar und führen Sie es aus:

./telnet.exp > output.html

Linux
  1. Befehlsausgabe oder Dateiinhalt im Spaltenformat anzeigen

  2. 4 Möglichkeiten zum Erstellen einer Textdatei im Linux-Terminal

  3. Wie ersetzt man sed wie Text durch Python?

  4. So bearbeiten Sie eine Textdatei in meinem Terminal

  5. Wie lösche ich den Inhalt einer Datei über die Befehlszeile?

Bash-Quellbefehl

So speichern Sie die Linux-Befehlsausgabe in einem Bild oder einer Textdatei

So sperren Sie eine Textdatei in Linux mit dem Befehl flock

So drucken Sie doppelte Zeilen in einer Textdatei unter Linux

Zeigen Sie den Inhalt einer Datei in der Linux-Befehlszeile an

Die 10 besten Lite-Befehlszeilen-Texteditoren unter Linux[Einfach zu bedienen]