Keduanya curldan wgetdigunakan untuk mengunduh file, dll. Apakah ada alasan untuk menggunakannya?
Keduanya curldan wgetdigunakan 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
curlperpustakaan . curldidukung 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 . curlbekerja lebih seperti catperintah Unix tradisional , ia mengirim lebih banyak barang stdout, dan membaca lebih banyak dari stdincara "semuanya pipa". wgetlebih mirip cp, menggunakan analog yang sama.
Tembakan tunggal . curlpada 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 . curlmendukung 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 . curlmembangun 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 . curldapat 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. curlmendukung pinning kunci publik.
HTTP auth . curlmendukung lebih banyak metode otentikasi HTTP, terutama melalui proxy HTTP: Basic, Digest, NTLM dan Negotiate
SOCKS . curlmendukung beberapa versi protokol SOCKS untuk akses proxy
Dua arah . curlmenawarkan kemampuan mengunggah dan mengirim. wgethanya 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
curlmendukung gzipdan 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
wgetwgetadalah baris perintah saja. Tidak ada perpustakaan.
Rekursif ! wgetSisi 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 . wgettelah melacak kembali ke 1995, sementara curldapat dilacak kembali tidak lebih awal dari akhir tahun 1996.
GPL . wgetadalah 100% GPL v3. curl adalah lisensi MIT.
GNU . wgetadalah 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.
wgettidak memerlukan opsi tambahan untuk hanya mengunduh URL jarak jauh ke file lokal, saat curlmemerlukan -oatau -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, HTTrackdll 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 curlmemiliki lebih banyak opsi. Untuk wgetitu kadang-kadang mungkin cukup untuk membuka man wget, tetapi untuk curlsaya perlu mempelajari halaman web ini di browser. Saya percaya apa pun yang dapat dilakukan oleh peramban Anda, juga curldapat 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.