httpstat visualisiert curl(1)
-Statistiken auf eine schöne und klare Weise.
Es ist eine einzelne Datei? Python-Skript, das keine Abhängigkeit hat? und ist mit Python 3 kompatibel? .
Es gibt drei Möglichkeiten httpstat
abzurufen:
Laden Sie das Skript direkt herunter: wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py
Durch pip: pip install httpstat
Über Homebrew (nur macOS): brew install httpstat
Für Windows-Benutzer wird die Go-Version von @davecheney empfohlen. → Download-Link
Einfach:
python httpstat.py httpbin.org/get
Bei der Installation über pip oder brew können Sie httpstat
als Befehl verwenden:
httpstat httpbin.org/get
Da httpstat
ein Wrapper von cURL ist, können Sie jede von cURL unterstützte Option nach der URL übergeben (außer -w
, -D
, -o
, -s
, -S
, die bereits von httpstat
verwendet werden):
httpstat httpbin.org/post -X POST --data-urlencode " a=b " -v
httpstat
verfügt über eine Reihe von Umgebungsvariablen zur Steuerung seines Verhaltens. Hier sind einige Anwendungsdemos. Sie können auch httpstat --help
ausführen, um eine vollständige Erklärung anzuzeigen.
HTTPSTAT_SHOW_BODY
Auf true
setzen, um den Antworttext in der Ausgabe anzuzeigen. Beachten Sie, dass die Textlänge auf 1023 Byte begrenzt ist und bei Überschreitung abgeschnitten wird. Der Standardwert ist false
.
HTTPSTAT_SHOW_IP
Standardmäßig zeigt httpstat die Remote- und lokale IP-/Port-Adresse an. Auf false
setzen, um diese Funktion zu deaktivieren. Der Standardwert ist true
.
HTTPSTAT_SHOW_SPEED
Auf true
setzen, um die Download- und Upload-Geschwindigkeit anzuzeigen. Der Standardwert ist false
.
HTTPSTAT_SHOW_SPEED=true httpstat http://cachefly.cachefly.net/10mb.test
...
speed_download: 3193.3 KiB/s, speed_upload: 0.0 KiB/s
HTTPSTAT_SAVE_BODY
Standardmäßig speichert httpstat den Textkörper in einer tmp-Datei. Setzen Sie ihn auf false
, um diese Funktion zu deaktivieren. Der Standardwert ist true
HTTPSTAT_CURL_BIN
Geben Sie den zu verwendenden cURL-Bin-Pfad an. Der Standardwert ist curl
aus der aktuellen Shell $PATH.
Dieses Beispiel verwendet die von brew installierte cURL, um eine HTTP2-Anfrage zu stellen:
HTTPSTAT_CURL_BIN=/usr/local/Cellar/curl/7.50.3/bin/curl httpstat https://http2.akamai.com/ --http2
HTTP/2 200
...
cURL muss mit nghttp2 kompiliert werden, um die http2-Funktion zu aktivieren (#12).
HTTPSTAT_METRICS_ONLY
Wenn es auf true
gesetzt ist, gibt httpstat nur Metriken im JSON-Format aus. Dies ist nützlich, wenn Sie die Daten analysieren, anstatt sie zu lesen.
HTTPSTAT_DEBUG
Auf true
setzen, um Debugprotokolle anzuzeigen. Der Standardwert ist false
Der Einfachheit halber können Sie diese Umgebungen in Ihre .zshrc
oder .bashrc
exportieren, Beispiel:
export HTTPSTAT_SHOW_IP=false
export HTTPSTAT_SHOW_SPEED=true
export HTTPSTAT_SAVE_BODY=false
Hier sind einige Implementierungen in verschiedenen Sprachen:
Gehen Sie zu: davecheney/httpsstat
Dies ist die Go-Alternative von httpstat, sie ist in reinem Go geschrieben und benötigt keine externen Programme. Wählen Sie es, wenn Sie solide binäre Ausführungen mögen (eigentlich mag ich das).
Gehen Sie (Bibliothek): tcnksm/go-httpsstat
Dieses Projekt ist nicht nur ein CLI-Tool, sondern wird auch als Bibliothek verwendet, um die Latenz von HTTP-Anfragen im Go-Code zu debuggen. Dies ist sehr durchdacht und nützlich. Weitere Informationen finden Sie in diesem Artikel
Bash: b4b4r07/httpsstat
Das ist genau das, was ich ganz am Anfang machen wollte, habe es aber aufgegeben, weil ich mir meiner Bash-Fähigkeiten nicht sicher bin. Gute Arbeit!
Knoten: yosuke-furukawa/httpsstat
b4b4r07 erwähnte dies in seinem Artikel und könnte auch als HTTP-Client verwendet werden.
PHP: talhasch/php-htstat
Die PHP-Implementierung von @talhasch
Einige Codeblöcke in httpstat
sind aus anderen Projekten von mir kopiert, schauen Sie sich Folgendes an:
reorx/python-terminal-color Drop-in-Einzeldateibibliothek zum Drucken der Terminalfarbe.
reorx/getenv Umgebungsvariablendefinition mit Typ.