web-dev-qa-db-ja.com

curlを使用してファイルをダウンロードする方法

私はMac OS Xを使用していて、コマンドラインを使用してURLからファイルをダウンロードする方法を理解できません。静的ページからのものなので、ダウンロードリンクをコピーしてからcurlを使用するとうまくいくと思いましたが、そうではありません。

このStackOverflowの質問 を参照しましたが、機能しませんでした。私も この記事 を参照しましたが、これも機能しませんでした。

私が試したこと:

curl -o https://github.com/jdfwarrior/Workflows.git
curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information

wget -r -np -l 1 -A Zip https://github.com/jdfwarrior/Workflows.git
zsh: command not found: wget

コマンドラインからファイルをダウンロードするにはどうすればよいですか?

22
Alex Cory

-o --outputオプションは、curlがstdoutの代わりに指定したファイルに出力を書き込むことを意味します。URLを-oの後に配置すると、curlは、URLが書き込むファイルであり、URLが指定されていないと見なします。 -o、URLの後にファイル名が必要です。 URLはHTTPSベースであるため、-kオプションも必要になる場合があります。

curl -o ./filename -k https://github.com/jdfwarrior/Workflows.git

また、wgetはOS Xではデフォルトで使用できません。

27
jfly
curl -OL https://github.com/jdfwarrior/Workflows.git

-O:このオプションは、リモートファイルのような名前のファイルに出力を書き込むために使用されていました。このカールでは、そのファイルはWorkflow.git

-L:このオプションは、リクエストされたページが別の場所に移動したことをサーバーが報告した場合に使用されます(Location:ヘッダーと3XX応答コードで示されます)。このオプションは、カールを新しい場所でリクエストをやり直します。

参照: curl man page

7
Buddhi

質問に対する最も簡単な解決策は、元のファイル名を保持することです。その場合、オプションとして大文字のo( "-O")を使用するだけです(ゼロ= 0ではありません!)。したがって、次のようになります。

curl -O https://github.com/jdfwarrior/Workflows.git
5
Agile Bean