Keduanya curl
dan wget
digunakan untuk mengunduh file, dll. Apakah ada alasan untuk menggunakannya?
Keduanya curl
dan wget
digunakan untuk mengunduh file, dll. Apakah ada alasan untuk menggunakannya?
Jawaban:
Setelah Anda mendefinisikan "penggunaan yang tepat", gunakan wget
.
Mengapa? Itu sebabnya:
Rekursif! Sisi kuat utama wget dibandingkan dengan curl adalah kemampuannya untuk mengunduh secara rekursif, atau bahkan hanya mengunduh segala sesuatu yang disebut dari sumber daya jarak jauh, baik itu halaman HTML atau daftar direktori FTP.
Tak tahu malu disalin dari sini
curl
perpustakaan . curl
didukung oleh libcurl
- pustaka lintas platform dengan API stabil yang dapat digunakan oleh setiap orang. Perbedaan ini besar karena ia menciptakan sikap yang sama sekali berbeda tentang bagaimana melakukan sesuatu secara internal. Juga sedikit lebih sulit untuk membuat perpustakaan daripada alat baris perintah "belaka".
pipa . curl
bekerja lebih seperti cat
perintah Unix tradisional , ia mengirim lebih banyak barang stdout
, dan membaca lebih banyak dari stdin
cara "semuanya pipa". wget
lebih mirip cp
, menggunakan analog yang sama.
Tembakan tunggal . curl
pada dasarnya dibuat untuk melakukan transfer data single-shot. Ini hanya mentransfer URL yang ditentukan pengguna, dan tidak mengandung logika pengunduhan rekursif atau pengurai HTML apa pun.
Lebih banyak protokol . curl
mendukung FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMB / CIFS, SMTP, RTMP dan RTSP. Wget hanya mendukung HTTP, HTTPS, dan FTP.
Lebih portabel . curl
membangun dan menjalankan lebih banyak platform dari pada wget
. Sebagai contoh: OS / 400, TPF dan platform lebih "eksotis" lainnya yang bukan klon Unix.
Lebih banyak perpustakaan SSL dan dukungan SSL . curl
dapat dibangun dengan satu dari sebelas (11!) perpustakaan SSL / TLS yang berbeda, dan ia menawarkan lebih banyak kontrol dan dukungan yang lebih luas untuk perincian protokol. curl
mendukung pinning kunci publik.
HTTP auth . curl
mendukung lebih banyak metode otentikasi HTTP, terutama melalui proxy HTTP: Basic, Digest, NTLM dan Negotiate
SOCKS . curl
mendukung beberapa versi protokol SOCKS untuk akses proxy
Dua arah . curl
menawarkan kemampuan mengunggah dan mengirim. wget
hanya menawarkan dukungan HTTP POST biasa.
HTTP multipart / pengiriman formulir data , yang memungkinkan pengguna untuk melakukan "unggah" HTTP dan secara umum meniru browser dan melakukan otomatisasi HTTP ke tingkat yang lebih luas
curl
mendukung gzip
dan mengembangkan Content-Encoding dan melakukan dekompresi otomatis
curl
menawarkan dan melakukan dekompresi HTTP Transfer-Encoded, wget tidak
curl
mendukung HTTP / 2 dan terhubung dengan tumpukan ganda menggunakan Happy Eyeballs
Jauh lebih banyak aktivitas pengembang . Meskipun hal ini dapat diperdebatkan, saya mempertimbangkan tiga metrik di sini: aktivitas milis, frekuensi kode sumber komit dan frekuensi rilis. Siapa pun yang mengikuti kedua proyek ini dapat melihat bahwa proyek curl memiliki kecepatan yang jauh lebih tinggi di semua bidang ini, dan sudah demikian selama 10+ tahun. Bandingkan dengan openhub
wget
wget
adalah baris perintah saja. Tidak ada perpustakaan.
Rekursif ! wget
Sisi kuat utama dibandingkan dengan curl adalah kemampuannya untuk mengunduh secara rekursif, atau bahkan hanya mengunduh segala sesuatu yang disebut dari sumber daya jarak jauh, baik itu halaman HTML atau daftar direktori FTP.
Yang lebih tua . wget
telah melacak kembali ke 1995, sementara curl
dapat dilacak kembali tidak lebih awal dari akhir tahun 1996.
GPL . wget
adalah 100% GPL v3. curl adalah lisensi MIT.
GNU . wget
adalah bagian dari proyek GNU dan semua hak cipta diberikan kepada FSF. Proyek curl sepenuhnya berdiri sendiri dan independen tanpa organisasi pengasuhan sama sekali dengan hampir semua hak cipta yang dimiliki oleh Daniel.
wget
tidak memerlukan opsi tambahan untuk hanya mengunduh URL jarak jauh ke file lokal, saat curl
memerlukan -o
atau -O
.
wget
mendukung Daftar Sufiks Publik untuk menangani domain cookie, curl tidak.
wget
hanya mendukung GnuTLS atau OpenSSL untuk dukungan SSL / TLS
wget
hanya mendukung otentikasi Dasar sebagai satu-satunya jenis otentikasi melalui proxy HTTP
wget
tidak memiliki dukungan SOCKS
Kemampuannya untuk pulih dari transfer yang rusak sebelum waktunya dan melanjutkan pengunduhan tidak memiliki rekanan dalam ikal.
wget
dapat diketik dengan hanya menggunakan tangan kiri pada keyboard qwerty!
curl -C -
melanjutkan unduhan yang rusak?
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.
Ada banyak alat yang dapat men-download seperti curl
, snarf
, wget
, pavuk
, fget
, fetch
, lftp
, aria2
, HTTrack
dll Gunakan sesuai dengan kebutuhan Anda dan yang fitur yang ingin Anda gunakan bersama dengan men-download. Periksa tabel fitur dan gunakan yang sesuai.
Ikal:
Wget:
Sumber daya penting untuk info lebih lanjut:
Ini penjelasan yang bagus tentang curl vs Wget .
Daftar fitur: Bandingkan Fitur cURL dengan Alat Unduhan Lainnya
Detail fitur yang didukung curl: Fitur - apa yang dapat dilakukan curl
Detail fitur yang didukung wget : fitur wget
Mereka memiliki banyak fungsi yang sama, tetapi curl
memiliki lebih banyak opsi. Untuk wget
itu kadang-kadang mungkin cukup untuk membuka man wget
, tetapi untuk curl
saya perlu mempelajari halaman web ini di browser. Saya percaya apa pun yang dapat dilakukan oleh peramban Anda, juga curl
dapat melakukannya.
Ada perbedaan lain antara wget dan curl yang menurut saya penting.
Wget adalah utilitas baris perintah yang berdiri sendiri yang dimaksudkan terutama untuk mengambil konten internet dengan cepat dan sederhana.
Curl di sisi lain pada dasarnya adalah ujung depan terminal untuk perpustakaan libcurl yang kuat. Libcurl menyediakan seperangkat alat yang sangat kuat untuk bekerja dengan URL dalam semua bentuk dan rasanya, dan tersedia untuk hampir semua bahasa dan platform. Curl pada dasarnya memberi Anda kemampuan untuk menggunakan perpustakaan ini dalam skrip shell.