curl
とwget
の違いを知りたいと思っています。どちらもファイルとドキュメントの取得に使用されますが、それらの主な違いは何ですか。
なぜ2つの異なるプログラムがあるのですか?
主な違いは次のとおりです。
wget
のcurl
と比較した主な長所は、再帰的にダウンロードできることです。wget
はコマンドラインのみです。 libなどはありませんが、curl
の機能はlibcurlを利用しています。curl
サポートFTP
、FTPS
、HTTP
、HTTPS
、SCP
、SFTP
、TFTP
、TELNET
、DICT
、LDAP
、LDAPS
、FILE
、_POP3
_、IMAP
、SMTP
、RTMP
とRTSP
。 wget
は、HTTP
、HTTPS
、およびFTP
をサポートしています。curl
は、wget
よりも多くのプラットフォームでビルドおよび実行されます。wget
は、フリーソフトウェアのコピーレフトライセンスの下でリリースされます(GNU GPL)。curl
は、フリーソフトウェアの寛容なライセンスの下でリリースされます(a MIT誘導体)。curl
は、アップロードおよび送信機能を提供します。 wget
は、プレーンなHTTP POSTサポートのみを提供します。詳細については、次のリンクをご覧ください。
一言で言えば:
wget
はサーバーからファイルをダウンロードするためのツールですcurl
は、リクエスト/レスポンスをサーバーと交換できるようにするツールですwget
Wgetは、HTTP
/HTTPS
またはFTP
サーバーからファイルをダウンロードすることのみを許可します。リンクを指定すると、リンクが指すファイルが自動的にダウンロードされます。 リクエストを自動的に作成します。
curl
Wgetとは対照的に、Curlを使用すると必要に応じてリクエストを作成できます。これにより、ユーザーに多くの自由が与えられ、すばらしいデバッグツールになります。それに加えて、2つの他の重要な違い:サポートされるプロトコルの多さ。 CurlはFTP
、FTPS
、Gopher
、HTTP
、HTTPS
、SCP
、SFTP
をサポートします、TFTP
、Telnet
、DICT
、LDAP
、LDAPS
、IMAP
、POP3
、SMTP
、RTSP
およびURI
。これら2つの重要なポイントを組み合わせると、プロトコルをテストしたり、サーバー構成をテストしたりするための素晴らしいツールがあります。
多くの人が言うように、curlでファイルをダウンロードできます。ただし、wgetがサポートしていないプロトコルを使用するサーバーからファイルをダウンロードする場合にのみ役立ちます。
実際の大きな違いは、curl
にはライブラリ(libcurl
)が含まれており、そのライブラリは他のアプリケーションで広く使用されていることです。 wget
はスタンドアロンです。
Wgetとcurlを使用していくつかのパフォーマンステストを実行しました。結果は次のとおりです。
ダウンロード中に100回テストされた平均実行時間1MBファイル:
wget: 0.844s
cURL: 0.680s
ダウンロード中に100回テストされた平均実行時間5MBファイル:
wget: 1.075s
cURL: 0.863s
ダウンロード中に100回テストされた平均実行時間10MBファイル:
wget: 1.182s
cURL: 1.074s
システムのコマンドサイズ:
wget: 371K
cURL: 182K