Curl ve wget arasındaki fark nedir?


258

Ben arasındaki farkı bilmek meraklıyım curlve wget. Her ikisi de dosya ve belge almak için kullanılır, ancak aralarındaki anahtar fark nedir.

Neden iki farklı program var?


5
Ana fark, wget'in bir şeyleri indirmek için kullanılırken, kıvrılma, belirli bir protokolü kullanarak iletişimi test etmek için kullanılır.
Pithikos


Yanıtlar:


265

Başlıca farklılıklar:

  • wget'nin en güçlü yanı curl, yinelemeli olarak indirme yeteneğidir.
  • wgetsadece komut satırıdır. Lib ya da hiçbir şey yoktur, ancak curlözellikleri libcurl tarafından desteklenir.
  • curldestekler FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMTP, RTMPve RTSP. wgetdestekler HTTP, HTTPSve FTP.
  • curldaha fazla platformda inşa ve çalışır wget.
  • wgetözgür bir yazılım copyleft lisansı (GNU GPL) altında yayınlandı. curlserbest yazılım izinli bir lisans (MIT türevi) altında yayımlanmaktadır.
  • curlyükleme ve gönderme yetenekleri sunar. wgetsadece sade HTTP POST desteği sunar.

Aşağıdaki bağlantıda daha fazla ayrıntı görebilirsiniz:

kıvırmak vs Wget


1
Teşekkürler, bu tam olarak birkaç saattir merak ettiğim şey. Bir sitede özyinelemeli bir örümcek yapmak için wget kullandım, üzerinde yüksek bazilyon bağlantıları olan bir sayfada durmuş görünüyor. Gerçek şu ki, bir çekirdekte% 100 CPU çalışıyor. Duyduğum yeni komik çok çekirdekli şeyi yapan daha iyi bir şey olduğunu umuyordum.
Brian Topping

1
wgetBu cevabın dışında kalan şeylerden biri http yansıtma (veya 'örümcek') yeteneğidir. curlne yaptığını çok iyi, ama tek başına bir web sitesini yansıtmak için kullanılmak üzere tasarlanmamıştır.
jsbillings

Ftp'yi destekleyen, takma ad olmaktan ne haber?
mckenzm

1
Bu ifadelerin hiçbir anlamı yoktur: "ve tüm telif hakları FSF'ye verilmiştir", "tamamen bağımsız ve hiç bir kuruluşun ebeveynliği olmadan bağımsızdır". CURL'nin yazarının telif hakkı sahibi olduğu açıktır. Wget'ın yazarının telif hakkı sahibi olduğu açıktır. Ancak her ikisi de özgürlük yazılımında olduğu gibi ücretsizdir. Bunun yerine wget'in bir copyleft lisansı altında ve cURL'yi izin verilen bir lisans altında olduğunu söyleyebilirsiniz.
Valerio Bozz

1
@ValerioBozz: Aslında hayır. Hem kıvrılma hem de wget topluluk projeleridir. Kıvrılma ile, her kişi katkıda bulundukları koda ilişkin telif hakkına sahiptir. Wget ile, çoğu GNU programında olduğu gibi, çeşitli yazarlar telif haklarını FSF'ye verirler. Yani, artık bu kodun sahibi değiller. Bu, FSF'nin kesinlikle copyleft'i zorlamasını ve gerekirse kodu değiştirmesini sağlamaktır.
kahrolası

57

Birkaç kelimeyle:

  • wget sunuculardan dosya indirmek için bir araçtır
  • curl bir sunucu ile istek / cevap alışverişi yapmanıza izin veren bir araçtır

wget

Wget, yalnızca bir HTTP/ HTTPSveya FTPsunucudan dosya indirmenize izin verir . Bir bağlantı verirsiniz ve bağlantıyı işaret ettiği dosyayı otomatik olarak indirir. İsteği otomatik olarak oluşturur.

bukle

Wget yerine kıvrılma , isteğinizi istediğiniz gibi oluşturmanıza olanak sağlar . Bu, kullanıcıya çok fazla özgürlük verir ve şaşırtıcı bir hata ayıklama aracı haline getirir. Buna, ikisi arasındaki diğer önemli farkı ekledik: desteklenen protokollerin bolluğu. Bukle destekleri FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, Telnet, DICT, LDAP, LDAPS, IMAP, POP3, SMTP, RTSPve URI. Bu iki kilit noktayı birleştirdiğinizde, protokolleri test etmek, sunucu yapılandırmasını test etmek vb. İçin harika bir aracınız olur.

Birçok kişinin söylediği gibi, curl ile bir dosya indirebilirsiniz. Ancak bu, yalnızca wget'in desteklemediği bir protokol kullanan bir sunucudan dosya indirmek istediğinizde faydalıdır.


2
Aslında wgetyönlendirmeyi izler ve sonra yanıttan farklı olarak kaydeder curl. Her ikisi de varsayılan davranışın tersini başarabilir wget -qO - http://google.co.uk/ veyacurl http://google.co.uk/ > index.html
Matt

1
@mtm curl http://google.co.uk/ > index.htmldahili bir işlevsellik kullanmıyor olsa da. Her neyse, ana ayrım, her bir takımın amaçlandığı amaçtır . Araçların geliştiğini ve çoğu zaman ilk yörüngeden sapmadıklarını inkar etmek mümkün değil.
Pithikos

1
@mtm curl http://google.co.uk -o index.html, kabuk çıktısı yönlendirmesi yerine kıvrımın içini kullanır >.
Petrus Repo,

19

Aslında en büyük fark, curlbir kütüphane ( libcurl) içermesi ve bu kütüphane diğer uygulamalar tarafından yaygın olarak kullanılmasıdır. wgetbağımsız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.