httpstat は、 curl(1)
統計を美しく明確に視覚化します。
単一のファイルですか?依存関係のない Python スクリプトですか? Python 3と互換性がありますか? 。
httpstat
取得するには 3 つの方法があります。
スクリプトを直接ダウンロードします: wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py
pip 経由: pip install httpstat
homebrew 経由 (macOS のみ): brew install httpstat
Windows ユーザーの場合は、@davecheney の Go バージョンが推奨されます。 → ダウンロードリンク
単に:
python httpstat.py httpbin.org/get
pip または brew を通じてインストールした場合は、 httpstat
コマンドとして使用できます。
httpstat httpbin.org/get
httpstat
は cURL のラッパーであるため、URL の後に cURL でサポートされているオプションを渡すことができます ( httpstat
ですでに使用されている-w
、 -D
、 -o
、 -s
、 -S
を除く)。
httpstat httpbin.org/post -X POST --data-urlencode " a=b " -v
httpstat
は、その動作を制御するための環境変数が多数あります。ここではいくつかの使用デモを示します。httpstat httpstat --help
を実行して完全な説明を確認することもできます。
HTTPSTAT_SHOW_BODY
true
に設定すると、出力に応答本文が表示されます。本文の長さは 1023 バイトに制限されており、それを超える場合は切り捨てられることに注意してください。デフォルトはfalse
です。
HTTPSTAT_SHOW_IP
デフォルトでは、httpstat はリモートおよびローカルの IP/ポート アドレスを表示します。この機能を無効にするにはfalse
に設定します。デフォルトはtrue
です。
HTTPSTAT_SHOW_SPEED
ダウンロードとアップロードの速度を表示するにはtrue
に設定します。デフォルトは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
デフォルトでは、httpstat は本文を tmp ファイルに保存します。この機能を無効にするにはfalse
に設定します。デフォルトはtrue
です
HTTPSTAT_CURL_BIN
使用する cURL bin パスを指定します。デフォルトは現在のシェル$PATHからのcurl
です。
この例では、brew でインストールされた cURL を使用して HTTP2 リクエストを作成します。
HTTPSTAT_CURL_BIN=/usr/local/Cellar/curl/7.50.3/bin/curl httpstat https://http2.akamai.com/ --http2
HTTP/2 200
...
http2 機能を有効にするには、cURL を nghttp2 でコンパイルする必要があります (#12)。
HTTPSTAT_METRICS_ONLY
true
に設定すると、httpstat はメトリクスを json 形式でのみ出力します。これは、データを読み取るのではなく解析する場合に便利です。
HTTPSTAT_DEBUG
デバッグ ログを表示するにはtrue
に設定します。デフォルトはfalse
便宜上、これらの環境を.zshrc
または.bashrc
にエクスポートできます。例:
export HTTPSTAT_SHOW_IP=false
export HTTPSTAT_SHOW_SPEED=true
export HTTPSTAT_SAVE_BODY=false
以下に、さまざまな言語での実装をいくつか示します。
移動: davecheney/httpstat
これは httpstat の Go 代替であり、純粋な Go で書かれており、外部プログラムには依存しません。確実なバイナリ実行が好きな場合は、これを選択してください (実際、私は好きです)。
Go (ライブラリ): tcnksm/go-httpstat
このプロジェクトは、CLI ツールであるだけでなく、Go コードでの HTTP リクエストのレイテンシーのデバッグに役立つライブラリとしても使用されており、非常に思慮深く便利です。詳細はこの記事を参照してください。
バッシュ: b4b4r07/httpstat
本当はこれが一番最初にやりたかったのですが、bashスキルに自信がなくて断念しました、よかったです!
ノード: yosuke-furukawa/httpstat
b4b4r07 さんの記事でこれについて言及されており、HTTP クライアントとしても使用できます。
PHP: talhasch/php-httpstat
@talhasch による PHP 実装
httpstat
の一部のコード ブロックは私の他のプロジェクトからコピーしたものです。見てください。
reorx/python-terminal-color 端末カラーを印刷するためのドロップイン単一ファイル ライブラリ。
reorx/getenv タイプを含む環境変数定義。