curl でファイルをダウンロードしたいのですが、うまくいきません。
curl -O https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o
これは多くの公式サイトで見た例です。上記のコマンドは hello.o ファイルをダウンロードすると書かれていますが、そうではありません。何らかの出力をダウンロードし、同じ名前のファイルに保存するだけです。
上記のコマンドを実行し、hello.o の内容を印刷すると、次のように表示されます。
<html><body>You are being <a href="https://raw.githubusercontent.com/systems-cs-pub-ro/uso/master/tema1/help/hello.o">redirected</a>.</body></html>
hello.o の次元は 147 バイトです。
また、私が入力すると
wget https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o
hello.oファイルをそのままダウンロードします。サイズは1.2Kです。
curl を使用して hello.o ファイルをダウンロードする方法はありますか? 正確には、wget を使用してダウンロードする方法を教えてください。
謹んで感謝申し上げます。
ベストアンサー1
Curl では、次のように -L フラグを使用する必要があります。
カール -Lhttps://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o> こんにちは。
Curl のマニュアルページより:
-L、--location (HTTP/HTTPS) 要求されたページが別の場所に移動したことをサーバーが報告した場合 (Location: ヘッダーと 3XX 応答コードで示されます)、このオプションにより curl は新しい場所で要求をやり直します。-i、--include または -I、--head と一緒に使用すると、要求されたすべてのページのヘッダーが表示されます。認証が使用される場合、curl は資格情報を最初のホストにのみ送信します。リダイレクトによって curl が別のホストに移動する場合、ユーザー + パスワードを傍受することはできません。これを変更する方法については、--location-trusted も参照してください。--max-redirs オプションを使用して、たどるリダイレクトの数を制限できます。 curl がリダイレクトに従い、リクエストが単純な GET ではない場合 (たとえば、POST または PUT)、HTTP 応答が 301、302、または 303 の場合、次のリクエストは GET で実行されます。応答コードがその他の 3xx コードの場合、curl は同じ変更されていないメソッドを使用して次のリクエストを再送信します。
あなたの質問に対する回答は既にここに記載されていますので、ご注意ください:cURL を使用して GitHub から tarball をダウンロードするにはどうすればよいですか?