カールを使用してHTTPポストを介してサーバーにファイルをアップロードしています。
curl -X POST [email protected] server-URL
コマンドラインからこのコマンドを手動で実行すると、サーバーから応答を受け取ります(例:)"Upload successful"
。しかし、スクリプトを介してこのカールコマンドを実行したい場合は、POSTリクエストが成功したことをどうやって知ることができますか?
ベストアンサー1
curl's --fail
オプションを使用することもできますが、まずテストする必要があります。
man curl
-f、--fail(HTTP)サーバーエラー時に自動的に失敗します(出力なし)。これは主に、失敗した試みをよりよく処理するためにスクリプトなどをより有効にするために行われます。通常の状況でHTTPサーバーが文書を渡すことができない場合は、状況を説明するHTML文書を返します(通常、理由と追加情報も説明します)。このフラグは、カールがこの情報を出力しないようにし、エラー22を返します。
This method is not fail-safe and there are occasions where non- successful response codes will slip through, especially when authentication is involved (response codes 401 and 407).
だからあなたはこれを行うことができます:
args="-X POST [email protected] server-URL"
curl -f $args && echo "SUCCESS!" ||
echo "OH NO!"