Komut Satırı Veri Aktarımı ve Daha Fazlası için cURL Nasıl Kullanılır

Komut Satırı Veri Aktarımı ve Daha Fazlası için cURL Nasıl Kullanılır
⌛ Reading Time: 8 minutes

Bir süredir Linux uygulamaları için terminal odaklı kurulum talimatlarını takip ediyorsanız, muhtemelen aşağıdakilerle karşılaşmışsınızdır: curl bir noktada veya başka bir yerde komut verin. cURL, URL’lerle veri aktarımı için bir komut satırı aracıdır. En basit kullanımlardan biri, komut satırı aracılığıyla bir dosya indirmektir. Ancak bu yanıltıcıdır, çünkü cURL çok daha fazlasını yapabilen inanılmaz derecede güçlü bir araçtır.

cURL nedir?

İlk olarak 1996 yılında Daniel Sternberg tarafından web sunucularından finansal verileri almak ve IRC kanallarına yayınlamak için yazılan cURL, tarayıcı kullanmadan veri almak için güçlü bir araç haline geldi. Her zaman terminali kullanıyorsanız, bu cephaneliğinizdeki en önemli araçlardan biri olacaktır.

Çoğu Linux dağıtımında, cURL sistemde önceden kuruludur ve onu hemen kullanabilirsiniz. Kurulu olmasa bile çoğu depoda bulunur, böylece Yazılım Merkezini kullanarak kolayca kurabilirsiniz.

Windows için “kıvrılma benzeri” bir komut yoktur ve macOS’ta önceden yüklenmiş cURL vardır ancak oldukça fazla bayrak Linux sürümü olarak.

Kurulum

Daha fazla ilerlemeden önce cURL’nin sistemimizde kurulu olduğundan emin olmalıyız.

Linux

Debian/Ubuntu tabanlı dağıtımlarda cURL’yi kurmak için aşağıdaki komutu kullanın:

Arch tabanlı dağıtımlarda:

Fedora/CentOS/RHEL’de:

Mac os işletim sistemi

macOS için önceden yüklenmiştir, bu nedenle herhangi bir şey yapmanıza gerek yoktur.

pencereler

  1. Windows 7/10/11 için şuraya gidin: cURL indirme sayfası ve çalıştırdığınız mimariye göre 64-bit veya 32-bit paketler arasından seçim yapın. Mimarinizi bilmiyorsanız, 2006’dan sonra yapılan donanımların büyük çoğunluğu üzerinde olduğundan 64-bit güvenli bir bahistir.
  2. Doğrudan sistem sürücüsünde veya “C:Program Files” içinde bir klasör oluşturun ve buna “cURL” adını verin.
  1. İndirdiğiniz zip dosyasına geri dönün, açın ve “bin” klasörünün içindeki “curl.exe” dosyasını bulun. Bunu, oluşturduğunuz cURL klasörüne kopyalayın. Kopyaladığınız EXE tamamen bağımsızdır ve Linux üzerinde çalıştırabileceğiniz her permütasyonu çalıştırabilir.
  2. Bu komutu gerçekten kullanışlı hale getirmek için, komut isteminden herhangi bir yerde çalıştırılabilmesi için onu Windows’taki PATH değişkenine eklemeliyiz.
  • Başlat menünüze tıklayın, yazın environment, ve bas Girmek.
  • “Ortam Değişkenleri…” üzerine tıklayın. Artık ortam değişkenleri ayarlarınızda olmalısınız.
Linuxcurl Ortam Değişkenleri
  • “Yol” ortam değişkenini seçin, ardından “Düzenle…” seçeneğini tıklayın.
  • Yol düzenleme iletişim penceresindeyken, “Yeni”ye tıklayın ve “curl.exe”nizin bulunduğu dizini yazın – örneğin, “C:Program FilescURL”.
Linuxcurl Düzenlenebilir Değişkeni
  • Bu süreçte açtığınız diyalog pencerelerinde “Tamam”a tıklayın ve terminalinizde cURL bulundurmanın keyfini çıkarın!

Linux’ta kullanılabilen cURL’deki her bayrak Windows sürümünde çalışmalıdır.

Bilgelere söz: komut isteminin asla Windows Terminali ile karıştırılmaması gerektiğini unutmayın. Windows Terminal, benzer işlevsellik sunan ancak tamamen farklı çalışan PowerShell’de bulunan kendi cURL sürümüyle birlikte gelir.

cURL’yi kullanma

Başlamak için yazmanız yeterlidir curl maketecheasier.com terminalinizde ve tuşuna basın Girmek.

Herhangi bir çıktı almıyorsanız, bunun nedeni bu sitenin sunucusunun www olmayan etki alanına rastgele bağlantı isteklerine yanıt verecek şekilde yapılandırılmamış olmasıdır. Var olmayan veya çevrimiçi olmayan bir sunucuyu yokladıysanız, cURL’nin ana bilgisayarı çözemediğini söyleyen bir hata mesajı alırsınız.

Linuxcurl Hatası

cURL’nin gerçekten yararlı bir şey yapmasını sağlamak için bir protokol belirlememiz gerekecek. Örneğimizde, bu sitenin ana sayfasını sorgulamak için HTTPS protokolünü kullanıyoruz. Tip curl https://www.maketecheasier.com.

Linuxcurl Dosyaları

Her şey yolunda giderse, devasa bir veri duvarına bakıyor olmalısınız. Bu verileri biraz daha kullanılabilir hale getirmek için cURL’ye onu bir HTML dosyasına koymasını söyleyebiliriz:

Linuxcurl'u İndir

Bu komut, sitemizin çıktısının içeriğini İndirilenler klasörünüzdeki bir HTML dosyasına yerleştirir. Favori dosya yöneticinizle klasöre gidin ve az önce oluşturduğunuz dosyaya çift tıklayın. Bu sitenin ana sayfasının HTML çıktısının bir anlık görüntüsünü açmalıdır.

Linuxcurl Testi

Benzer şekilde, kullanabilirsiniz -o aynı sonucu elde etmek için bayrak:

Yönlendirmeleri Takip Etme

Çoğu site trafiği otomatik olarak “http”den “https” protokolüne yönlendirir. cURL’de, aynı şeyi şu şekilde elde edebilirsiniz: -L bayrak. Bu, okunabilir bir sayfa veya dosyaya ulaşana kadar otomatik olarak 301 yönlendirmelerini takip edecektir.

Linuxcurl Yönlendirme

İndirmeye Devam Etme

Büyük dosyaları indirirken, İnternet hızınıza bağlı olarak, kesintiler son derece rahatsız edici olabilir. Neyse ki, cURL’nin bir özgeçmiş işlevi vardır. geçmek -C flag bu konuyla hemen ilgilenecektir.

Gerçek dünyadan bir örnek göstermek için, Debian’ın ISO test sürümünün indirilmesini kasıtlı olarak düğmesine basarak yarıda kestim. Ctrl ve C yakalamanın ortasında.

Linuxcurl Kesildi

Bir sonraki komutumuz için, -C bayrak. Örneğin,

Linuxcurl Özgeçmiş

İndirme başarıyla kaldığı yerden başladı.

Birden Fazla Dosya İndirme

cURL, birden çok dosyayı indirmenin en sezgisel yoluna sahip olmadığından, her biri kendi uzlaşmasına sahip iki yöntem vardır.

İndirmekte olduğunuz dosyalar numaralandırılmışsa (örneğin, dosya1, dosya2, vb.), tüm dosya aralığını almak için parantezleri kullanabilir ve çıktıyla birlikte belirlediğiniz çıktı içinde “#” kullanabilirsiniz. -o bayrak. Bunu biraz daha az kafa karıştırıcı hale getirmek için işte bir örnek:

Bunu yapmanın daha basit bir yolu ile -O (--remote-name). Bu bayrak, cURL’nin uzak dosyayı aynı ada sahip yerel bir dosyaya indirmesini sağlar. Bir çıktı belirtmeniz gerekmediğinden, dosyaları indirmek istediğiniz dizinde terminal açıkken bu komutu kullanmalısınız.

İndirilecek çok sayıda numaralandırılmış dosyanız varsa, --remote-name-all bunun için daha iyi bir bayrak:

Köşeli parantez kullanarak URL’yi yeniden yazmak zorunda kalmadan aynı siteden gelen numaralandırılmamış dosyaları bile belirtebilirsiniz:

Kimlik Doğrulama ile İndirme

Kimlik doğrulama gerektiren dosyaları indirin (örneğin, özel bir FTP sunucusundan alırken) -u bayrak. Her kimlik doğrulama isteği, ikisini ayıran iki nokta üst üste gelecek şekilde, önce kullanıcı adı ve ikinci olarak parola ile yapılmalıdır. İşleri basitleştirmek için bir örnek:

Bu, arkadaşımız bonobo_bob’un FTP sunucusunda kimliğini doğrulayacak ve dosyayı İndirilenler klasörüne indirecektir.

Dosyaları Bölme ve Birleştirme

Herhangi bir nedenle büyük bir dosya indirmek ve onu parçalara bölmek isterseniz, bunu cURL’ler ile yapabilirsiniz. --range bayrak. İle birlikte --range, bitirmek istediğiniz bayt ile başlamak istediğiniz baytı belirtmelisiniz. Aralığın sonunu belirtmezseniz, dosyanın geri kalanını indirir.

Aşağıdaki komutta cURL, Arch Linux’un ilk 100 MB kurulum görüntüsünü indirecektir:

Sonraki 100 MB için şunu kullanın: --range 100000000-199999999, vb. kullanarak bu komutları zincirleyebilirsiniz. && işlenen:

Yukarıdaki komut yapısını harfi harfine izlediyseniz, cURL’den indirmesini istediğiniz yerde sekiz dosya görünmelidir.

Linuxcurl Parçaları

Bu dosyaları yeniden birleştirmek için cat Linux veya macOS kullanıyorsanız şöyle komut verin:

Windows için, kullanmanız gerekecek copy şöyle komut:

Diğer Faydalı Özellikler

cURL için birçok işaret ve kullanım vardır:

  • -# – Tuttuğunuz şeyde ne kadar uzakta olduğunuzu belirtmek için bir ilerleme çubuğu kullanır. Örnek: curl -# https://asite.com/somefile.zip > ~/somefile.zip.
  • -a – cURL’den üzerine yazmak yerine bir dosyaya eklemesini ister. Örnek: curl -ao ~/collab-full.x https://example-url.com/collab-part26.x.
  • --head – Çıktı verileri olmadan yalnızca yanıt başlığını sunucudan alır. Bu, bir web sitesinde hata ayıklarken veya sunucunun istemcilere programlanmış yanıtlarına göz atarken kullanışlıdır. Örnek: curl --head https://example-url.com.
  • --limit-rate – Sınırlı bant genişliğine sahip bir indirme siparişi verir. cURL’nin sisteminizdeki tüm mevcut bant genişliğini tüketmesini istemediğiniz durumlarda kullanışlıdır. Basit bir sayı, saniyede bayt olarak yorumlanacaktır. K, saniyede kilobaytı temsil eder; M, saniyede megabaytı temsil eder. Örnek: curl --limit-rate 8M https://example-url.com/file.zip > ~/file.zip.
  • -o – Daha önce belirtildiği gibi, cURL’nin kullanması için bir çıktı dosyası belirler. Örnek: curl -o ~/Downloads/file.zip https://thefileplace.com/file.zip -o file2.zip https://thefileplace.com/file2.zip.
  • --proxy – Bir proxy ile çalışmak istiyorsanız, bunu yapmanın yolu budur. Örnek: curl --proxy proxyurl:port https://example-url.com/file.zip > ~file.zip.

cURL ve Wget karşılaştırması

Her ikisi de aynı yıl (1996) piyasaya sürüldü, cURL ve Wget, sıradan gözlemciler için hemen hemen kardeş programlardır. Yine de biraz daha derine inin ve bu iki kız kardeşin farklı amaçları olduğunu görebilirsiniz.

Wget

  • İnternetten veri almak için tamamen sıfırdan inşa edilmiştir.
  • ihtiyacı yok -L veya -o cURL gibi bayraklar; sadece yaz wget [url] ve git!
  • Bir dizindeki her şeyi almak için özyinelemeli olarak indirebilir. -r bayrak.
  • Bir kullanıcının günlük kullanım için ihtiyaç duyduğu tüm işlevlere sahiptir ve günlük sistem yöneticisi görevlerini yerine getirir.
  • (Linux’ta) Çok fazla bağımlılığa ihtiyaç duymaz; hepsi kutunun dışında mevcut olmalıdır.

cURL

  • Geniş bayrak repertuarı ve uzaktan erişim için kullanışlı işlevler.
  • Yerel ağ (LDAP) ve ağ yazıcılarını (Samba) destekler.
  • gzip sıkıştırma kitaplıkları ile iyi çalışır.
  • Geliştiricilerin cURL’nin işlevselliğini içeren yazılım veya bash komut dosyaları yazmasına izin veren libcurl’a bağlıdır.

Kısacası, Wget İnternetten bir şeyler almak için “herkesin araç kutusu” iken cURL, uzman kullanıcılar ve sistem yöneticileri için daha ayrıntılı kontrol ile bunu genişletiyor.

Sıkça Sorulan Sorular

1. Linux’ta bir sertifika hatası aldım. Nasıl düzeltirim?

“Akran sertifikası veren güvenilir değil olarak işaretlendi” gibi bir hata alırsanız, bunu düzeltmenin en kolay yolu, dağıtımınızdaki ortak sertifika paketini yeniden yüklemektir.

Debian/Ubuntu tabanlı sistemler için:

Fedora/CentOS/RHEL için:

Arch tabanlı sistemler için:

Arch’ta paket önbelleğinizi kullanarak temizlemek isteyebileceğinizi unutmayın. pacman -Scc sertifika paketini yeniden yüklemeden önce.

Hala bu hatayı alıyorsanız, sunucu tarafında bir sorun olabilir.

2. cURL ve bash komutlarını birlikte çalıştırmak güvenli midir?

Linux uygulamalarını kurmanın en yaygın yolu olmasa da, size kullanmaktan başka seçenek bırakmayan çok sayıda geliştirici (NodeJS’nin arkasındaki kişiler gibi) vardır. curl bash aracılığıyla çalışan bir kök erişim komutunun yanı sıra (örn. curl [argument] | sudo -E bash -) yazılımı yüklemek için.

Biraz korkutucu görünebilir, ancak uygulamanın arkasındaki insanlar güvenilirse, bir şeyleri kırmanız pek olası değildir. Kötü niyetli aktörler her yerdedir ve Arch’ın AUR’si gibi depolara sızabilir; curl root erişim komutlarıyla birlikte kullanmak, paket yöneticiniz aracılığıyla yapmaktan genellikle daha güvensiz değildir.

3. Tor ile cURL kullanabilir miyim?

Evet! Tor Browser’ı (veya bağımsız bir tor hizmetini) başlatın ve --proxy bayrak. Tor, diğer uygulamalarda IP’nizi maskelemek için kullanabileceğiniz yerel bir proxy sağlar. Tor ile kullanılan bir cURL örneği:

Bağımsız Tor hizmetleri, dinleme bağlantı noktası olarak 9050’yi kullanırken Tor tarayıcısı 9150 bağlantı noktasını kullanır.

Toplama

cURL, Linux dünyasının değişen yapısı içinde, terminal kullanıcılarının cephaneliğinde önemli bir araç olarak konumunu koruyarak dirençli olduğunu kanıtlamıştır.

Komut satırında yeniyseniz, en kullanışlı Linux komutlarından bazılarına göz atın. İnternetten veri indirmek yerine sadece Web’de arama yapmak istiyorsanız, terminale de göz atabilirsiniz.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.