webdevqa.jp.net

Curlコマンドはファイルをダウンロードしません(linux mint)

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を使用してダウンロードする方法はありますか?

よろしくお願いします。

16
Cosmin Ioniță

Curlでは、次のように-Lフラグを使用する必要があります。

curl -L https://github.com/systems-cs-pub-ro/uso/raw/master/tema1/help/hello.o > hello.o

Curlのmanページから:

-L、-location(HTTP/HTTPS)要求されたページが別の場所(Location:ヘッダーと3XX応答コードで示される)に移動したことをサーバーが報告した場合、このオプションはcurlに新しい要求をやり直させます場所。 -i、-includeまたは-I、-headと一緒に使用すると、要求されたすべてのページのヘッダーが表示されます。認証が使用される場合、curlはその資格情報を最初のホストにのみ送信します。リダイレクトが別のホストにカールする場合、ユーザーとパスワードをインターセプトすることはできません。これを変更する方法については、-location-trustedも参照してください。 --max-redirsオプションを使用して、フォローするリダイレクトの量を制限できます。 curlがリダイレクトに続き、リクエストがプレーンなGETではない場合(たとえば、POSTまたはPUT)、HTTP応答が301、302、または303の場合、GETを使用して次のリクエストを実行します。 。応答コードが他の3xxコードであった場合、curlは同じ変更されていないメソッドを使用して次のリクエストを再送信します。

あなたの質問はすでにここで回答されていることに注意してください: cURLを使用してGitHubからtarballをダウンロードするにはどうすればよいですか?

25
Ravi Gehlot