cURL を使用して取得した Web ページのHTTP ステータス コードだけを出力したいと考えています。AWKワンライナーでこれを行うことは可能ですか?
4922 次
2 に答える
9
awk を使用しなくても、curl だけで取得できます。
curl -I http://example.com/ -w '%{response_code}' -so /dev/null
curl の-Iオプションは HEAD リクエストを作成します。これは通常、これが必要です。
于 2012-06-21T12:58:49.407 に答える
0
解決
次のワンライナーは、パイプから HTTP ヘッダーを読み取り、ステータス コードを出力します。
awk 'BEGIN {"curl -sI http://example.com" | getline; print "Status Code: " $2}'
興味深い側面
このアプローチには、一見すると明らかではないいくつかの優れた点があります。例えば:
- このソリューションは純粋な AWK です。シェル スクリプトやラッパーは必要ありません。
- ヘッダーの最初の行だけを気にするので、不要な行をスキップするために NR を追跡または比較する必要はありません。
- $0 は BEGIN ブロックに入力されるため、AWK はファイル引数を必要としません。
于 2012-06-21T11:38:12.620 に答える