cURLコマンドは、404 NOT FOUNDコンテンツを含むファイルをダウンロードします。

cURLコマンドは、404 NOT FOUNDコンテンツを含むファイルをダウンロードします。

特定のファイルが特定の場所にあることを確認しようとしていますが、ファイルがない場合は、電子メールリストに電子メールを送信する必要があります。問題は、ファイルが存在することを確認する前にURL(Sharepoint)からファイルをダウンロードする必要があることです。

URLにファイルがない場合、cURLコマンドは「404 NOT FOUND」の内容を含むファイルをダウンロードします。ソースにファイルがない場合、cURLコマンドはファイルをダウンロードしたくありません。どうすればいいですか?

cd $file_path    
curl -k --ntlm -u $USER_GROUP:$PASS -O http://sharepoint.com/sites/dummy/file_list.txt

これは私が使用するダウンロードコマンドです。どんな助けでも大変感謝します。ありがとうございます。

ベストアンサー1

スイッチを追加すると、-f目的の効果が得られます。

curlマニュアルから:

-f/--fail (HTTP) サーバーエラーが発生すると自動的に失敗します (出力なし)。これは主に、失敗した試みをよりよく処理するためにスクリプトなどをより有効にするために行われます。通常の状況でHTTPサーバーが文書を渡すことができない場合は、状況を説明するHTML文書を返します(通常、理由と追加情報も説明します)。このフラグはカールがこの内容を出力しないようにし、エラー22を返します。

この方法は安全ではなく、特に認証が関連している場合は失敗した応答コード(応答コード401と407)を見逃すことがあります。

おすすめ記事