- curlコマンドを使用する方法:
response=$(curl -s -o /dev/null -w "%{http_code}" http://example.com)
if [ "$response" -eq 200 ]; then
echo "Success: HTTP 200 OK"
else
echo "Error: HTTP $response"
fi
この例では、curlコマンドを使用して"http://example.com"に対してリクエストを送信し、レスポンスコードを取得しています。`-s`オプションは、curlの進捗情報を表示しないようにします。`-o /dev/nullオプションは、レスポンスの本体を/dev/nullにリダイレクトします。
-wオプションは、フォーマット指定子を使用してレスポンスコードのみを表示します。取得したレスポンスコードは、変数
$response`に格納されます。その後、条件分岐を使用してレスポンスコードが200であるかどうかをチェックし、結果を表示します。
- wgetコマンドを使用する方法:
response=$(wget --spider -S http://example.com 2>&1 | grep "HTTP/" | awk '{print $2}')
if [ "$response" -eq 200 ]; then
echo "Success: HTTP 200 OK"
else
echo "Error: HTTP $response"
fi
この例では、wgetコマンドを使用して"http://example.com"に対してスパイダーモードでリクエストを送信し、レスポンスヘッダーからHTTPステータスコードを取得しています。`--spider`オプションは、実際にファイルをダウンロードせずにリンクの存在を確認するために使用されます。`-S`オプションは、詳細な出力を表示するようにwgetを設定します。`2>&1`は、エラーメッセージを標準出力にリダイレクトするためのリダイレクト記号です。`grep "HTTP/"は、レスポンスヘッダーからHTTPステータスコード行のみを抽出します。
awk '{print $2}'は、行からステータスコードのみを抽出します。取得したレスポンスコードは、変数
$response`に格納されます。その後、条件分岐を使用してレスポンスコードが200であるかどうかをチェックし、結果を表示します。
これらはBashを使用してHTTPレスポンスコードをチェックするためのシンプルで簡単な方法です。他にも様々な方法がありますが、上記のコード例は基本的な使い方を示しています。必要に応じて、これらのコードをカスタマイズして使用してください。