web-dev-qa-db-ja.com

HTTPS経由でファイルをダウンロードするCurlコマンド

特定のファイルをhttps://file_pathからダウンロードする必要があります。以下は、そのために使用するcurlコマンドです。

curl --user user:password "https://file_path?raw" > location
  1. 上記の「file_path」の場所にあるファイルの実際のコンテンツをダウンロードしたいのですが、どういうわけかcurlはHTMLコンテンツのみを返します。どうすればこれを修正できますか?
  2. シェルからこのコマンドを実行すると、上記のように実行され、HTMLコンテンツがダウンロードされます。しかし、bashスクリプト内から実行すると、何もダウンロードされず、空のファイルが返されます。それがどこから実行されているかによって、なぜ異なる動作を示すのですか?
5
Hello

curlは、出力をパイプするかどうかに応じて、stdoutとstderrに送信する内容、使用するオプションなどを変更します。これが発生している理由を正確に確認するには、スクリプトを送信する必要があります。ダウンロードしたコンテンツを特定のファイルに強制する最良の方法は、-oオプションを使用することです。

curl --user user:password -o output_file "https://file_path?raw"

スクリプトの処理内容によっては、-sオプションを使用してダウンロードの進行を抑制することもできます。

3
Yves Dorfsman