wgetとcurlの違いは何ですか?

What Is Difference Between Wget Vs Curl



多くの場合、リモートサーバーからローカルマシンにファイルをダウンロードする必要があります。グラフィカルデスクトップでは、GUIブラウザを使用してダウンロードボタンをクリックできます。ただし、端末では、端末用に開発されたツールを使用する必要があります。端末からファイルをダウンロードすると、次の4つのツールが表示されることがよくあります。 カールショルダーwget 、 と aria2 。 axelとaria2はあまり知られていないかもしれませんが、ほとんどのターミナルユーザーはcurlとwgetを知っています。

このチュートリアルでは、curlとwget、開始方法、そして最も重要なこととして、それらの違いについて説明します。







cURLとは何ですか?

cURLは、無料のオープンソースコマンドラインユーティリティであり、ユーザーが最小限の操作で、またはまったく操作せずに、あるリモートマシンから別のリモートマシンにデータを転送できるようにします。 CURLの使用は、ルーター、プリンター、電話、タブレット、メディアプレーヤーなどのデバイスで広く使用されています。



HTTP / HTTPS、FTP、SFTP、SCP、IMAP、LDAP / LDAPS、SMB / SMBS、TELNET、POP3、GOPHERなどのプロトコルを使用したダウンロードとアップロードをサポートしています。



cURLは、プロキシ、再開転送、ユーザー認証、SSL証明書なども提供します。





wgetとは何ですか?

GNU Wgetは、一般にwgetと呼ばれ、HTTP / HTTPS、FTP、およびFTPSを使用してファイルを転送するための無料のコマンドラインユーティリティです。再帰的ダウンロード、帯域幅制御、中止された転送の再開、バックグラウンドダウンロード、再帰的ミラーファイルとディレクトリなどの機能を提供します。

cURLとWgetをインストールするにはどうすればいいですか?

cURLとwgetは、主要なLinuxディストリビューションですぐに利用できる人気のあるツールです。どちらのツールもインストールされていない場合は、以下のコマンドを使用してインストールします。



Debian / Ubuntu:

#cURLをインストールする

sudo apt-get installカール

#wgetをインストールする

sudo apt-get install wget

Arch / Manjaro:

#cURLをインストールする

sudoパックマン-NSカール

#wgetをインストールする

sudoパックマン-NS wget

REHL / CentOS / Fedora:

#cURLをインストールする

sudo yum installカール

sudodnfインストールカール

#wgetをインストールする

sudo yum install wget

sudodnfインストール wget

cURLとWgetの使用方法(ユースケースの例)?

cURLとwgetの類似点と相違点を確実に理解するために、いくつかの例を確認することをお勧めします。

HTTP / HTTPSプロトコル:

cURLとwgetはどちらもHTTPプロトコルとHTTPSプロトコルをサポートしています。したがって、linuxhint.comなどのWebサイトをダウンロードすると、次のようになります。

カールhttps://linuxhint.com-またlinuxhint.html

カールhttps://linuxhint.com-またlinuxhint.html

合計受け取ったXferd平均速度時間時間時間現在

DloadUpload合計使用済み左速度

100256k0256k0 0166k0-:-:-0:00:01-:-:-166k

デフォルトでは、cURLはターミナルにWebリソースのコンテンツを出力します。 -oフラグを使用して、出力をファイルにリダイレクトします。

以下はwgetに適用されます:

wgethttps://linuxhint.com

--2021-06-2005:09:フォーファイブ-https://linuxhint.com/

linuxhint.comの解決((linuxhint.com)。... 104.21.58.234、172.67.209.252、260647003033:::6815:3aea、..。

linuxhint.comに接続しています((linuxhint.com)。|104.21.58.234|443...接続されています。

HTTPリクエストが送信され、応答を待っています...200わかった

長さ:詳細不明[文章/html]

保存先:「index.html」

index.html

[ <=>> ]256.25K 506KB/NS0.5秒

2021年-06-2005:09:46 ((506KB/NS)。-「index.html」が保存されました[262396]

一方、Wgetは、要求されたリソースをファイルに保存します。

どちらのツールもリソースをダウンロードすることに注意してください。 2つのファイルのlsの詳細には、両方のファイルサイズが表示されます。

$ls -NSindex.html linuxhint.html

-rw-rw-r-- 1linuxhint linuxhint2623966月19 1550index.html

-rw-rw-r-- 1linuxhint linuxhint2623966月2005:07 linuxhint.html

FTPプロトコル:

cURLとwgetはどちらも、FTPプロトコルでのダウンロードをサポートしています。ただし、cURLはftpへのアップロードをサポートしています。

以下のコマンドを使用して、wgetを使用してFTPサーバーからファイルをダウンロードします。

wget - ユーザー= debian - パスワード=「debian」ftp://192.168.0.112/backup.zst

wget - ユーザー= debian - パスワード=「debian」ftp://192.168.0.112/backup.zst

--2021-06-2005:29:06-- ftp://192.168.0.112/backup.zst

=>>「backup.zst」

192.168.0.112への接続:21...接続されています。

ロギング なのでdebian ...ログに記録されました

==>>SYST ...完了しました。 ==>>PWD ...完了しました。

==>>タイプI ...完了。 ==>>CWDは必要ありません。

==>>SIZE backup.zst ...完了しました。

==>>PASV ...完了しました。 ==>>RETR backup.zst ...完了しました。

backup.zst

[ <=>> ] 0--.- KB/NS0秒

2021年-06-2005:29:06((0.00NS/NS)。-「backup.zst」が保存されました[0]

curlを使用して、-uフラグ:

カール-udebian:debian‘ftp://192.168.0.112/backup.zst ’-またbackup.zst

カール-udebian:debian'ftp://192.168.0.112/backup.zst' -またbackup.zst

合計受け取ったXferd平均速度時間時間時間現在

DloadUpload合計使用済み左速度

0 0 0 0 0 0 0 0-:-:-:-:-:-:-0

アップロードするにはファイルftpカールで、私たちは使用します-NSオプションとして:

カール-udebian:debian-NSbackup1.zst ftp://192.168.0.112/ftp/

ディレクトリが存在し、ユーザーがそのディレクトリへの書き込み権限を持っていることを確認してください。

ノート: cURLはさまざまなプロトコルをサポートしていますが、再帰的なダウンロードは提供していません。一方、Wgetは、HTTP / HTTPSプロトコルとFTP / FTPSプロトコルの両方が提供する機能など、–recursiveオプションを使用した再帰的ダウンロードをサポートします。

wgetとcURLの類似点

さて、ケーキの上のアイシングのために:

  • どちらのツールも、HTTP、HTTPS、FTP、FTPSなどの標準プロトコルをサポートしています。
  • どちらのツールもインターネットからファイルをダウンロードします。
  • どちらのツールもHTTPCookieをサポートしています。
  • どちらのツールもファイルへの出力をサポートしています。
  • 無料のツールと積極的に開発されたツールの両方。
  • どちらのツールも履歴書の転送をサポートしています。
  • どちらのツールもHTTPPOSTをサポートしています。

wgetとcURLの違い

curlとwgetの違いは次のとおりです。

  • Wgetは単純な転送ユーティリティですが、curlはさらに多くの機能を提供します。
  • Curlは、GUIアプリケーションに拡張できるlibcurlライブラリを提供します。一方、Wgetは単純なコマンドラインユーティリティです。
  • WgetはcURLと比較してより少ないプロトコルをサポートします。
  • 再帰的なダウンロードはcurlではサポートされていません。
  • WgetはLinuxシステムでネイティブに利用できますが、cURLはWindowsシステムですぐに利用できます。
  • cURLは複数の並列転送をサポートします。
  • cURLはTransfer-EncodedHTTP解凍を実行しますが、wgetは実行しません。
  • cURLは双方向HTTPをサポートし、wgetはプレーンHTTPPOSTを提供します。
  • cURLは、wgetと比較してより多くのHTTP認証メソッドをサポートします。
  • WgetはSOCKSをサポートしていません。
  • Wgetにはgnulibがインストールされている必要があります。
  • curlとは異なり、Cookie、タイムスタンプ、フォローリダイレクトなどの機能は、wgetでデフォルトで有効になっています。 cURLでは、それぞれを明示的に指定する必要があります。

結論

このチュートリアルでは、cURLの類似点と相違点に焦点を当てました。 cURLが優れた選択肢のように見えるかもしれませんが、wgetが最良の選択である場合があります。

あなたへの私のアドバイスはあなたのために働くものを選ぶことです。