これらの両方curl
とwget
など、ファイルをダウンロードするために使用されている他の上で1つを使用する理由はありますか?
これらの両方curl
とwget
など、ファイルをダウンロードするために使用されている他の上で1つを使用する理由はありますか?
回答:
「適切な使用」を定義したら、を使用しますwget
。
どうして?それが理由です:
再帰的!curlと比較したwgetの大きな強みは、再帰的にダウンロードできること、またはHTMLページやFTPディレクトリリストなど、リモートリソースから参照されているものすべてをダウンロードすることです。
curl
ライブラリ。curl
を搭載libcurl
–誰でも使用できる安定したAPIを備えたクロスプラットフォームライブラリ。この違いは、内部的に物事を行う方法に関してまったく異なる態度を作り出すため、大きなものです。また、ライブラリを作成するのは、「単なる」コマンドラインツールよりも少し難しいです。
パイプ。curl
従来のUnix cat
コマンドと同様に機能し、より多くのものをに送信し、「すべてがパイプ」方式でstdout
より多くのデータを読み取りstdin
ます。同じアナログを使用して、wget
より似cp
ています。
シングルショット。curl
基本的に、データのシングルショット転送を行うために作られています。ユーザーが指定したURLのみを転送し、再帰的なダウンロードロジックやHTMLパーサーは含まれません。
より多くのプロトコル。curl
FTP、FTPS、Gopher、HTTP、HTTPS、SCP、SFTP、TFTP、TELNET、DICT、LDAP、LDAPS、FILE、POP3、IMAP、SMB / CIFS、SMTP、RTMPおよびRTSPをサポートしています。Wgetは、HTTP、HTTPS、およびFTPのみをサポートしています。
よりポータブル。curl
は、より多くのプラットフォームでビルドおよび実行されますwget
。例:OS / 400、TPF、および単純なUnixクローンではないその他の「エキゾチック」プラットフォーム。
その他のSSLライブラリとSSLサポート。curl
11(11!)種類のSSL / TLSライブラリのうちの1つを使用して構築でき、プロトコルの詳細に対するより多くの制御と幅広いサポートを提供します。curl
公開鍵のピン留めをサポートします。
HTTP認証。curl
特にHTTPプロキシ経由で、より多くのHTTP認証方法をサポートします:Basic、Digest、NTLM、およびNegotiate
SOCKS。curl
プロキシアクセス用にいくつかのSOCKSプロトコルバージョンをサポート
双方向。curl
アップロードおよび送信機能を提供します。wget
単純なHTTP POSTサポートのみを提供します。
HTTP multipart / form-dataの送信。これにより、ユーザーはHTTPの「アップロード」を行い、一般的にブラウザーをエミュレートし、HTTPオートメーションをより広範囲に実行できます。
curl
gzip
Content-Encodingをサポートおよび拡張し、自動解凍を行います
curl
Transfer-Encoded HTTPの圧縮解除を提供および実行しますが、wgetは提供しません。
curl
HTTP / 2をサポートし、Happy Eyeballsを使用してデュアルスタック接続を行います
より多くの開発者の活動。これについては議論できますが、ここでは、メーリングリストのアクティビティ、ソースコードのコミット頻度、リリース頻度の3つの指標を検討します。これらの2つのプロジェクトをフォローしている人なら誰でも、curlプロジェクトはこれらすべての分野でずっと速いペースで進んでおり、10年以上もそうであることがわかります。OpenHubで比較する
wget
wget
コマンドラインのみです。ライブラリはありません。
再帰的!wget
curlと比較した場合の主な強みは、再帰的にダウンロードできることです。HTMLページやFTPディレクトリリストなど、リモートリソースから参照されるすべてのものをダウンロードすることさえできます。
古いです。wget
1995年までさかのぼるcurl
ことができますが、1996年末までにさかのぼることができます。
GPL。wget
100%GPL v3です。curlはMITライセンスです。
GNU。wget
GNUプロジェクトの一部であり、すべての著作権はFSFに割り当てられています。curlプロジェクトは完全にスタンドアロンで独立しており、ダニエルが所有するほぼすべての著作権を所有する組織はまったくありません。
wget
またはをcurl
必要とする一方で、単にリモートURLをローカルファイルにダウンロードするための追加オプションは必要ありません。-o
-O
wget
Cookieドメインを処理するためのPublic Suffix Listをサポートしていますが、curlはサポートしていません。
wget
SSL / TLSサポート用にGnuTLSまたはOpenSSLのみをサポート
wget
HTTPプロキシ経由の唯一の認証タイプとして基本認証のみをサポート
wget
SOCKSのサポートはありません
途中で壊れた転送から回復してダウンロードを続行する機能には、curlに対応するものがありません。
wget
qwertyキーボードの左手のみを使用して入力できます!
curl -C -
壊れたダウンロードを継続していませんか?
wget can be typed in using only the left hand on a qwerty keyboard!
、WTF ?? wget requires no extra options to simply download a remote URL to a local file, while curl requires -o or -O.
以下のようにダウンロードすることができ、多くのツールがありますcurl
、snarf
、wget
、pavuk
、fget
、fetch
、lftp
、aria2
、HTTrack
それはあなたの条件に応じて、あなたがダウンロードと一緒に使用したい特色などを使用。機能テーブル を確認し、それに応じて使用します。
カール:
Wget:
詳細については重要なリソース:
curlとWgetの良い説明があります。
curlがサポートする機能の詳細:機能-curlでできること
wgetがサポートする機能の詳細:wget機能
それらには共通の多くの機能がcurl
ありますが、より多くのオプションがあります。以下のためにwget
、それは時折を通じて葉に十分であるかもしれないman wget
が、ためにcurl
私は勉強する必要があり、このWebページをブラウザで。私はあなたのブラウザができることは何でもできると信じていますcurl
。