wget ve curl arasındaki fark nedir?

What Is Difference Between Wget Vs Curl



Genellikle uzak sunuculardan yerel makinemize dosya indirmemiz gerekir. Bir grafik masaüstünde, bir GUI tarayıcısı kullanabilir ve indirme düğmesine tıklayabiliriz. Ancak bir terminalde, terminal için geliştirilmiş araçları kullanmamız gerekiyor. Terminalden dosya indirirken genellikle dört araç karşımıza çıkıyor: kıvrılmak , omuz , wget , ve arya2 . axel ve aria2 iyi bilinmese de, çoğu terminal kullanıcısı curl ve wget'i bilir.

Bu derste curl ve wget'e, nasıl başlayacağınıza ve en önemlisi aralarındaki farklara bakacağız.







cURL nedir?

cURL, kullanıcıların minimum veya hiç kullanıcı etkileşimi olmadan bir uzak makineden diğerine veri aktarmasına olanak tanıyan ücretsiz ve açık kaynaklı bir komut satırı yardımcı programıdır. CURL kullanımı, yönlendiriciler, yazıcılar, telefonlar, tabletler, medya oynatıcılar ve daha fazlası gibi cihazlarda yaygındır.



HTTP/HTTPS, FTP, SFTP, SCP, IMAP, LDAP/LDAPS, SMB/SMBS, TELNET, POP3, GOPHER ve çok daha fazlası gibi protokolleri kullanarak indirme ve yüklemeyi destekler.



cURL ayrıca proxy'ler, özgeçmiş aktarımları, kullanıcı kimlik doğrulaması, SSL sertifikaları ve çok daha fazlasını sağlar.





wget nedir?

Genellikle wget olarak adlandırılan GNU Wget, dosyaları HTTP/HTTPS, FTP ve FTPS kullanarak aktarmak için ücretsiz bir komut satırı yardımcı programıdır. Özyinelemeli indirmeler, bant genişliği kontrolü, iptal edilen aktarımları sürdürür, arka planda indirmeler, özyinelemeli ayna dosyaları ve dizinleri ve daha pek çok özellik sunar.

cURL ve Wget Nasıl Kurulur?

cURL ve wget, büyük Linux dağıtımlarında kolayca bulunabilen popüler araçlardır; herhangi bir araç kurulu değilse, yüklemek için aşağıdaki komutları kullanırsınız:



Debian/Ubuntu:

# cURL'yi yükle

sudo apt-get installkıvrılmak

# wget'i yükle

sudo apt-get install wget

Kemer / Manjaro:

# cURL'yi yükle

sudopacman-Skıvrılmak

# wget'i yükle

sudopacman-S wget

REHL/CentOS/Fedora:

# cURL'yi yükle

sudo yüklemekıvrılmak

sudodnfYüklemekkıvrılmak

# wget'i yükle

sudo yükleme wget

sudodnfYüklemek wget

cURL ve Wget Nasıl Kullanılır (Örnek Kullanım Durumları)?

cURL ve wget arasındaki benzerlikleri ve farklılıkları anladığınızdan emin olmak için birkaç örneğe bakmakta fayda var:

HTTP/HTTPS Protokolleri:

Hem cURL hem de wget, HTTP ve HTTPS protokollerini destekler. Bu nedenle, linuxhint.com gibi bir web sitesi indirirsek:

https kıvırmak://linuxhint.com-veyalinuxhint.html

https kıvırmak://linuxhint.com-veyalinuxhint.html

%Toplam%Alınan%Xferd Ortalama Hız Zaman Zaman Zaman Mevcut

Dload Yükleme Toplam Harcanan Sol Hız

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

Varsayılan olarak cURL, terminaldeki web kaynağının içeriğini yazdıracaktır. Çıktıyı bir dosyaya yönlendirmek için -o bayrağını kullanırız.

Aşağıdakiler wget için geçerlidir:

wgethttps://linuxhint.com

---2021-06-2005:09:Dört beş- https://linuxhint.com/

linuxhint.com çözümleniyor(linuxhint.com)... 104.21.58.234, 172.67.209.252,2606:4700:3033::6815:3aa, ...

linuxhint.com'a bağlanma(linuxhint.com)|104.21.58.234|:443... bağlı.

HTTP isteği gönderildi, yanıt bekleniyor...200Tamam

Uzunluk: belirtilmemiş[Metin/html]

Kaydediliyor: 'index.html'

index.html

[ <=> ]256.25K 506KB/siçinde0.5s

2021-06-yirmi05:09:46 (506KB/s)- 'index.html' kaydedildi[262396]

Wget ise istenen kaynağı bir dosyaya kaydeder.

Her iki aracın da kaynağı indirdiğini belirtmekte fayda var. İki dosyanın ls ayrıntıları her iki dosya boyutunu da gösterir.

$ls -NSindex.html linuxhint.html

-rw-rw-r-- 1linuxhint linuxhint262396Haziran19 on beş:elliindex.html

-rw-rw-r-- 1linuxhint linuxhint262396Haziranyirmi05:07 linuxhint.html

FTP Protokolü:

Hem cURL hem de wget, FTP protokollerinde indirmeleri destekler. Ancak cURL, ftp'ye yüklemeyi destekler.

FTP sunucusundan wget ile dosya indirmek için aşağıdaki komutu kullanın:

wget --kullanıcı= debian--parola='debian' ftp://192.168.0.112/backup.zst

wget --kullanıcı= debian--parola='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'ye bağlanılıyor:yirmi bir... bağlı.

Kerestecilikiçinde olarakdebian ... Günlüğe kaydedildiiçinde!

==>SİSTEM ... tamamlandı. ==>özürlü ... bitti.

==>TİP I ... bitti. ==>CWD'ye gerek yok.

==>SIZE backup.zst ... tamamlandı.

==>PASV ... bitti. ==>RETR backup.zst ... tamamlandı.

backup.zst

[ <=> ] 0--.- KB/siçinde0'lar

2021-06-yirmi05:29: 06(0,00B/s)- 'backup.zst' kaydedildi[0]

Curl kullanarak, ekleyin-uolarak işaretle:

kıvrılmak-udebian:debian 'ftp://192.168.0.112/yedekleme.zst'-veyabackup.zst

kıvrılmak-udebian: debian'ftp://192.168.0.112/backup.zst' -veyabackup.zst

%Toplam%Alınan%Xferd Ortalama Hız Zaman Zaman Zaman Mevcut

Dload Yükleme Toplam Harcanan Sol Hız

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

yüklemek içindosyaileftpcurl ile kullanırız-Tseçenek olarak:

kıvrılmak-udebian: debian-Tbackup1.zst ftp://192.168.0.112/ftp/

Dizinin var olduğundan ve kullanıcının dizine yazma izinlerine sahip olduğundan emin olun.

NOT: cURL çok çeşitli protokolleri desteklese de, özyinelemeli indirmeler sağlamaz. Öte yandan, Wget, hem HTTP/HTTPS hem de FTP/FTPS protokollerinin bu tür bir işlevsellik sunduğu için –recursive seçeneğini kullanarak özyinelemeli indirmeleri destekler.

wget ve cURL Arasındaki Benzerlikler

Şimdi pastanın üzerine krema için:

  • Her iki araç da HTTP, HTTPS, FTP, FTPS gibi standart protokolleri destekler.
  • Her iki araç da internetten dosya indirir.
  • Her iki araç da HTTP tanımlama bilgilerini destekler.
  • Her iki araç da bir dosyaya çıktıyı destekler.
  • Hem ücretsiz hem de aktif olarak geliştirilmiş araçlar.
  • Her iki araç da özgeçmiş aktarımlarını destekler.
  • Her iki araç da HTTP POST'u destekler.

wget ve cURL Arasındaki Farklar

curl ve wget arasındaki farklardan bazıları şunlardır:

  • Wget basit bir aktarım aracıdır, curl ise çok daha fazlasını sunar.
  • Curl, GUI uygulamalarına genişletilebilen libcurl kitaplığını sağlar. Wget ise basit bir komut satırı yardımcı programıdır.
  • Wget, cURL'ye kıyasla daha az protokolü destekler.
  • Curl'de özyinelemeli indirmeler desteklenmez.
  • Wget, Linux sistemlerinde yerel olarak bulunurken cURL, Windows sistemlerinde hazırdır.
  • cURL, birden çok paralel aktarımı destekler.
  • cURL, Aktarım Kodlu HTTP açma işlemlerini gerçekleştirirken wget yapmaz.
  • cURL çift yönlü HTTP'yi desteklerken wget düz bir HTTP POST sunar.
  • cURL, wget'e kıyasla daha fazla HTTP kimlik doğrulama yöntemini destekler.
  • Wget, SOCKS'u desteklemez.
  • Wget, gnulib'in kurulu olmasını gerektirir.
  • Curl'den farklı olarak, tanımlama bilgileri, zaman damgaları ve takip yönlendirmeleri gibi özellikler wget'te varsayılan olarak etkindir. cURL, her birinin açıkça belirtilmesini gerektirir.

Çözüm

Bu eğitim, cURL arasındaki benzerliklere ve farklılıklara odaklandı. cURL üstün bir seçim gibi görünse de, wget'in en iyi seçim olduğu durumlar vardır.

Sana tavsiyem, senin için neyin işe yaradığını seçmen.