プロキシを使用してカールを呼び出すbashスクリプトがあります。今日のダウンロード場所に問題が発生しました。
カールを呼び出した結果は次のとおりです。
curl: (18) transfer closed with 7512708716 bytes remaining to read
このエラーにもかかわらず、戻りコードはまだ200なので、私のスクリプトはすべてが大丈夫だと思います。
http-200に加えて、他の戻りコードを提供するようにカールにどのように指示できますか?
答え1
curl --fail
必要な部分を実行します。
~からman curl
:
-f, --fail
(HTTP)サーバーエラーが発生すると自動的に失敗します(出力なし)。これは主に、失敗した試みをよりよく処理するためにスクリプトなどをより有効にするために行われます。通常の状況でHTTPサーバーが文書を渡すことができない場合は、状況を説明するHTML文書を返します(通常、理由と追加情報も説明します)。このフラグはカールがこの内容を出力しないようにし、エラー22を返します。
この方法は安全ではなく、特に認証が関連している場合は失敗した応答コード(応答コード401と407)を見逃すことがあります。
しかし、画面への出力を妨げます。
答え2
エラーは次のとおりです。
rc=$( curl ... )
$rc
これは、カールの標準出力を埋めるときに返されるhttpコードを提供します。後でrc
記入しなければなりませんでした$?
。
私のコードを次のように変更します。
httprc=$( curl ...)
rc=$?
2つの「返品」コードを受け取りました。ありがとうまあ!