So stellen Sie HTTP-Anfragen mit Plink

1

Unter Windows möchte ich einfache HTTP-Anfragen stellen, um Fehler in meinen Skripten zu finden. Natürlich verwende ich normalerweise bequemere Tools (wie das "REST client" -Plugin in Firefox), aber jetzt möchte ich eine Ebene tiefer gehen.

Wie kann ich in Windows über die Befehlszeile HTTP-Anforderungen stellen?

Ich habe versucht, Plink (von PuTTY) zu verwenden:

plink -telnet -P 80 servername GET /index.php

Aber der Server sagt mir immer wieder, dass

Das Anforderungsverb ist ungültig.

Wahrscheinlich ignoriert es das GET /index.phpTeil.

  • Ich habe keine telnet(ich verwende den PC meines Unternehmens und kann die Windows-Funktion hier nicht installieren)
  • Ich möchte es niedrig halten (keine Weiterleitungen folgen usw.)
Slartidan
quelle
"Ich habe kein Telnet (da es in aktuellen Windows-Versionen nicht enthalten ist)" Es ist enthalten, es ist nur nicht standardmäßig installiert. Sie können den Windows-Telnet-Client installieren / aktivieren, indem Sie Software -> Windows-Funktionen ein- / ausschalten.
ƬᴇcƬᴇιʜ007
@ ƬᴇcƬᴇιᴇ007 Danke für den Hinweis - aber im Moment kann ich diese Windows-Funktion nicht installieren (ich habe meine Frage aktualisiert). Irgendwelche Ideen, warum plinkgeht das nicht?
Slartidan
1
Sie verwenden PLink richtig, aber ich denke, da Sie erwähnen, dass dies ein REST-Webdienst ist, geben Sie einfach eine falsche GET-Anforderung aus. Wie es heißt: index.phpist kein gültiges Anforderungsverb für diesen Dienst (im Grunde müssen Sie die Funktion angeben, die im Webdienst ausgeführt werden soll).
Ƭᴇc Novιʜ007
Sie haben eine Reihe von Alternativen. ** Linux / Unix ** Zuerst können Sie prüfen, ob der Port offen ist: nc -z [ipaddress] 80und um einige http-Anfragen zu erledigen, können curl http://example.com/Sie Folgendes ausführen: Das Lesen einer URL über GET :
Francisco Tapia

Antworten:

2
  1. Sie können das Telnet-Protokoll nicht zum Implementieren von HTTP verwenden. PuTTY sendet einige Telnet-Steuersequenzen, die das HTTP-Protokoll verletzen. Sie müssen eine "rohe" Verbindung mit dem -rawSchalter (anstelle von -telnet) verwenden.

  2. Sie können den Befehl in der Plink-Befehlszeile nur mit dem SSH-Protokoll angeben. Es funktioniert nicht mit der Raw-Verbindung oder dem Telnet. Sie können jedoch eine Eingabeumleitung verwenden.

Das sollte funktionieren:

echo GET /index.php | plink.exe -raw -P 80 servername

Sie sollten jedoch ein leistungsfähigeres Werkzeug verwenden. Beispiele:

Martin Prikryl
quelle