Bunların her ikisi de curl
ve wget
dosya indiren vb için kullanımıdır üst üste kullanmak için herhangi bir neden var mı?
Bunların her ikisi de curl
ve wget
dosya indiren vb için kullanımıdır üst üste kullanmak için herhangi bir neden var mı?
Yanıtlar:
"Uygun kullanımı" tanımladıktan sonra, kullanın wget
.
Neden? Bu yüzden:
Recursive! wget'ın curl ile karşılaştırıldığında en güçlü tarafı, yinelemeli olarak indirme kabiliyeti, hatta uzak bir kaynaktan atıfta bulunulan her şeyi bir HTML sayfası veya bir FTP dizini listesi olarak indirme yeteneğidir.
Utanmaz buradan kopyalandı
curl
kütüphane . curl
tarafından desteklenmektedir libcurl
- herkesin kullanabileceği istikrarlı bir API içeren bir platformlar arası kütüphane. Bu fark, işlerin dahili olarak nasıl yapılacağı konusunda tamamen farklı bir tutum yarattığı için büyüktür. Bir kitaplık yapmak "salt" komut satırı aracından çok daha zordur.
borular . curl
geleneksel Unix cat
komutuna benzer şekilde çalışır, daha fazla şey gönderir stdout
ve stdin
"her şey bir boru" şeklinde okur . Aynı analogu kullanarak wget
daha benzer cp
.
Tek atış . curl
Temel olarak tek atış veri aktarımı yapmak için yapılır. Yalnızca kullanıcının belirlediği URL’leri aktarır ve özyinelemeli indirme mantığı veya herhangi bir HTML ayrıştırıcısı içermez.
Daha fazla protokol . curl
FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, DOSYA, POP3, IMAP, SMB / CIFS, SMTP, RTMP ve RTSP’yi destekler. Wget yalnızca HTTP, HTTPS ve FTP'yi destekler.
Daha taşınabilir . curl
ondan daha fazla platformda çalışır ve çalışır wget
. Örneğin: OS / 400, TPF ve düz ileri Unix klonları olmayan diğer "egzotik" platformlar.
Daha fazla SSL kütüphanesi ve SSL desteği . curl
on bir (11!) farklı SSL / TLS kütüphanesinden biriyle oluşturulabilir ve protokol ayrıntıları için daha fazla kontrol ve daha geniş destek sunar. curl
ortak anahtar sabitlemeyi destekler.
HTTP auth . curl
özellikle HTTP proxy'lerinde daha fazla HTTP kimlik doğrulama yöntemini destekler: Temel, Özet, NTLM ve Anlaşma
ÇORAPLAR . curl
Proxy erişimi için çeşitli SOCKS protokol sürümlerini destekler
Çift yönlü . curl
yükleme ve gönderme yetenekleri sunar. wget
sadece sade HTTP POST desteği sunar.
Kullanıcıların HTTP "yükleme" yapmasına ve genel olarak tarayıcıları taklit etmesine ve daha geniş ölçüde HTTP otomasyonu yapmasına izin veren HTTP çoklu-form / veri gönderme
curl
gzip
Content-Encoding özelliğini destekler ve şişirir ve otomatik dekompresyon yapar
curl
Transfer Kodlamalı HTTP'nin dekompresyonunu sunar ve gerçekleştirir, wget değil
curl
HTTP / 2'yi destekler ve Happy Eyeballs kullanarak çift yığınlı bağlantı yapar
Çok daha fazla geliştirici etkinliği . Bu tartışılabilir olsa da, burada üç ölçüm yapmayı düşünüyorum: postalama listesi etkinliği, kaynak kodu işleme sıklığı ve yayınlanma sıklığı. Bu iki projeyi takip eden herkes, kıvrılma projesinin tüm bu alanlarda çok daha yüksek bir hızda olduğunu görebilir ve 10 yıldan fazla bir süredir böyle devam eder. Openhub ile karşılaştır
wget
wget
sadece komut satırıdır. Kütüphane yok.
Özyinelemeli ! wget
curl ile karşılaştırıldığında en güçlü tarafı, yinelemeli indirme, hatta uzak bir kaynaktan atıfta bulunulan her şeyi bir HTML sayfası veya bir FTP dizini listesi indirme yeteneğidir.
Yaşlı . wget
1995’e kadar izleri var curl
, 1996’nın sonlarından daha önce geriye doğru izlenebilir.
GPL . wget
% 100 GPL v3'tür. kıvrılma MIT lisanslıdır.
GNU . wget
GNU projesinin bir parçasıdır ve tüm telif hakları FSF'ye verilmiştir. Curl projesi tamamen tek başına ve bağımsız olup, Daniel'in sahip olduğu hemen hemen tüm telif hakları ile hiçbir organizasyon ebeveynliği bulunmuyor.
wget
ise basitçe, yerel bir dosyaya uzak URL'yi indirmek için hiçbir ekstra seçenekler gerektirir curl
gerektirir -o
veya -O
.
wget
Çerez etki alanlarını işlemek için Genel Son Ekler Listesini destekler, kıvrılmaz.
wget
SSL / TLS desteği için yalnızca GnuTLS veya OpenSSL'yi destekler
wget
HTTP proxy üzerinden yalnızca auth tipi olarak yalnızca Basic auth'yi destekler
wget
SOCKS desteği yok
Erken kırılmış bir transferden kurtarma ve indirmeye devam etme kabiliyetinin hiçbir karşılığı yoktur.
wget
Bir qwerty klavyede sadece sol el kullanılarak yazılabilir!
curl -C -
Bozuk indirme işlemine devam etmiyor mu?
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.
Gibi indirebilirsiniz birçok araç vardır curl
, snarf
, wget
, pavuk
, fget
, fetch
, lftp
, aria2
, HTTrack
vb kullanın İhtiyaçlarınız ve hangi indirmekte birlikte kullanmak istediğiniz özelliği uyarınca bu. Özellik tablosunu kontrol edin ve uygun şekilde kullanın.
Kıvırmak:
Wget:
Daha fazla bilgi için Önemli Kaynaklar:
İşte Wget vs iyi bir açıklama kıvrılması .
Özellik tablosu: cURL Özelliklerini Diğer İndirme Araçları ile karşılaştırın
Curl destekli özelliklerin detayı: Özellikler - kıvrılabilir
Wget destekli özelliklerin detayı: wget özellikleri
Çok fazla işlevselliğe sahipler, ancak curl
daha fazla seçeneğe sahipler . İçin wget
zaman zaman yaprak through yeterli olabilir man wget
, fakat için curl
Eğitim gereken bu web sayfasını bir tarayıcıda. Tarayıcınızın yapabileceği, curl
yapabileceği her şeyi inanıyorum .
Wget ve curl arasında önemli olduğunu düşündüğüm başka bir fark var.
Wget, öncelikli olarak internet içeriğini hızlı ve kolay bir şekilde almayı amaçlayan tek başına bir komut satırı yardımcı programıdır.
Curl, diğer taraftan, temelde güçlü libcurl kütüphanesi için bir terminal ön ucu. Libcurl, URL'lerle tüm form ve tatlarında çalışmak için çok güçlü araçlar sağlar ve hemen hemen tüm diller ve platformlar için kullanılabilir. Kıvrılma temel olarak, bu kütüphaneyi kabuk komut dosyalarında kullanabilmenizi sağlar.