Linux işletim sisteminde yer alan komutlar arasındaki curl komutunun ne olduğu sıklıkla sorulmaktadır. Bu komut birçok Unix bazlı olan sistemlerde karşımıza çıkan bir komut dizinidir ve Client URL’nin kısaltılmış hali olarak kullanılmaktadır. Komut sayesinde URL’lerin birbirine nasıl bağlandıklarını kontrol edebileceğiniz gibi veri transferlerinin yapılmasının da bir araç olarak tercih edebilirsiniz. Curl komutu nedir? Sorusunun tanımını sizlere bu şekilde yapabiliriz. Yazımızın devamında ise sizlere nasıl kullanıldığı hakkında bilgi vereceğiz.
Curl komutu bazı protokolleri desteklemektedir. Komut tarafından desteklenmekte olan protokoller ise şu şekildedir:
- FTP ve FTPS protokolleri
- HTTP ve HTTPS protokolleri
- POP3 ve POP3S protokolleri
- IMAP ve IMAPS protokolleri
- SFTP protokolü
- SMB ve SMBS protokolleri
- SCP protokolü
- GOPHER protokolü
- Telnet Protokolü
- SMTP ve SMTPS protokolleri
- LDAP ve LDAPS protokolleri
[SIZE=5]Curl Sürümü Nasıl Kontrol Edilir?[/SIZE]
Sizlere Curl komutunun ne olduğunu gösterdiğimize göre artık nasıl kullanıldığı noktasında da bilgi verebiliriz. Komutu kullanma yoluna gideceğiniz sırada bir VPS girişi yapmanız gerekecektir. İşlemlerinizi yapmadan önce hangi sürümü kullandığınızı da kontrol etmeniz gerekir. Hangi Curl sürümünü kullandığınızı öğrenmek istediğiniz sırada şu komut dizinini kullanmanız gerekmektedir:
curl – version
[SIZE=5]Basit Curl Command Sözdizimi Örnekleri[/SIZE]
Komutun kullanımını öğreneceğimiz sırada basit sözdiziminden başlayabiliriz. Curl komutunun basit sözdizimi ise şu şekilde karşımıza çıkar:
curl [OPTIONS] http://denemealanadi.com/denemedosyasi.tar.gz
Curl – o yenidenemedosyasi.tar.gz http://denemealanadi.com/denemedosyasi.tar.gz
Bu komutu kullanarak indirmek istediğiniz dosyalar farklı konumlarda bulunuyorsa sadece bir komut ile bu dosyaları indirme yoluna gidebilirsiniz. Farklı URL’ler kullanarak farklı dosyalar indirme sırasında bu şekilde listeleme yoluna gitmelisiniz.
Curl –C - - O http://denemealanadi.com/denemedosyas ı.tar.gz
Xargs – n 1 curl -0 < butunurller.txt
[SIZE=5]HTTP İçin Kullanılan Curl Komutları Nedir?[/SIZE]
Proxy sunucunuz olsa da Curl kullanabilme imkanınız bulunmaktadır. Denemeproxy.com şeklinde 8090 portunda yer almakta olan bir sunucunuz bulunuyorsa şu dosyaları indirebilirsiniz:
curl –x denemeproxy.com:8090 –U kullaniciadi:sifre -0 [URL]http://denemealanadi.com/denemedosyasi.tar.gz">
curl denemealanadi.com
[SIZE=5]Curl Komutu İle Dosya Seçenekleri[/SIZE]
Uzak bir konumda yer alan dosyaları kısa süre içerisinde indirmek istediğiniz takdirde de curl komutlarından yardım alma yoluna gidebilirsiniz. Bunu yapacağınız sırada iki farklı yöntem deneme yoluna gidebilirsiniz. Bu yöntemler ise şu şekildedir:
-O : Dosyayı kaydederken uzaktaki dosyayla aynı isimde kaydeder. Burada önemli olan nokta mevcutta ve çalışan dosyaları kaydetmesidir.
-o : Bu komut ise sizlere kaydetme evresinde farklı bir dosyayla isim belirleme imkanını sağlamaktadır.
Belirtmiş olduğumuz komuz bizlere dosyayı kaydetme noktasında denemedosyasi.tar.gz şeklinde kaydetme imkanı verecektir.
Curl – o yenidenemedosyasi.tar.gz http://denemealanadi.com/denemedosyasi.tar.gz
Bu komutu kullanarak indirmek istediğiniz dosyalar farklı konumlarda bulunuyorsa sadece bir komut ile bu dosyaları indirme yoluna gidebilirsiniz. Farklı URL’ler kullanarak farklı dosyalar indirme sırasında bu şekilde listeleme yoluna gitmelisiniz.
Curl –C - - O http://denemealanadi.com/denemedosyas ı.tar.gz
Xargs – n 1 curl -0 < butunurller.txt
[SIZE=5]HTTP İçin Kullanılan Curl Komutları Nedir?[/SIZE]
Proxy sunucunuz olsa da Curl kullanabilme imkanınız bulunmaktadır. Denemeproxy.com şeklinde 8090 portunda yer almakta olan bir sunucunuz bulunuyorsa şu dosyaları indirebilirsiniz:
curl –x denemeproxy.com:8090 –U kullaniciadi:sifre -0 [URL]http://denemealanadi.com/denemedosyasi.tar.gz
Oluşturulan standart bir http isteğinin her zaman bir başlık içermekte olduğu görülmektedir. Burada yer almakta olan http başlı özellikle uzakta yer almakta olan web sunucularıyla birlikte ek bilgiler yollar. Bir web sitesini başlık bilgisi olmadan almak istediğiniz takdirde şu komutu kullanabilirsiniz:
curl –I www.denemealanadi.com
POST isteğini yapmak için kullanabileceğiniz komut ise şu şekildedir:
curl – data “text=merhaba” https://denemealanaadim.com/firstpage.jsp
curl –data “text=merhaba” https://denemealanadim.com/firstpage.jsp -- next https://denemealanadim.com/displayResult.jsp
Bütün http istekleri kendi içerisinde bir kullanıcı aracına sahiptir. Bu kullanıcı aracıları ise web tarayıcılarının detaylarını bizlere göstermektedir. Varsayılan şeklinde kullanmış olduğumuz bir curl isteği ise bizlere kullanıcı aracısı olarak bilgiler vermektedir. İçerisinde curl ile beraber sürüm numaralarını içermektedir. Bu komutun kullanılmasındaki örnek sonuç ise şu şekildedir:
“GET / HTTP/1.1” 200 “curl/7/29/0”
Curl –I http://denemealanadim.com – user – agent “Yeni tarayıcım”
“GET / HTTP/1.1” 200 “_” “Yeni tarayıcım”
[/SIZE]
[SIZE=5]Çerezler İçin Curl Nasıl Kullanılır?[/SIZE]
Görmüş olduğunuz gibi Curl komutu birçok alanda kullanılabilmektedir. Bu komutu kullanabileceğiniz bir diğer alan ise; URL’den hangi çerezlerin indirildiğini kontrol etmektir. https://www.denemewebsitesi.com a erişiminiz varsa sonuçları bir dosyaya çıkarabilmeniz mümkündür. Çıkarmış olduğunuz çerezlerinizi kaydetmeniz de mümkündür. Bu noktada VM editörüyle cat kullanabilmeniz de mümkündür. Bu komut dizisinin örneği ise şu şekildedir:
curl – cookie-jar cerezlerim.txt https://www.denemewebsitesi.com /index.html –O
curl – cookie Cerezlerim.txt https://www.denemewebsitesi.com
[/SIZE]
[SIZE=5]FTP İçin Curl Kullanımı[/SIZE]
Desteklenen protokollerin arasında FTP’nin yer almakta olduğunu sizlere belirtmiştik. Bu komut sayesinde uzak masaüstünde yer almakta olan dosyaları kendi masaüstünüze indirebilirsiniz.
Curl –u kullaniciadi:sifre – ftp://denemeftpsunucusu/denemedosyasi.tar.gz
Farklı masaüstünden dosya çekebilme imkanınız bulunduğu gibi aynı zamanda farklı masaüstüne dosya yükleme imkanınız da bulunmaktadır. Bunun için kullanabileceğiniz komut dizini şu şekildedir:
Curl –u kullaniciadi:sifte –T denemedosyasi.tar.gz ftp://ornekftpsunucusu
[/SIZE]
[SIZE=5]Curl Sonucu Nasıl Sınırlanır?[/SIZE]
Curl komutu kullanarak meydana gelecek olan sonuçların ne kadar büyük olacaklarını tahmin dahi edemezsiniz. Bu noktada trafiğe bir sınırlama koyarak curl tarafından boğulmaların önüne geçebilirsiniz. Trafiği 10 bin ile sınırlamak için şu komutu kullanmanız gerekir:
Curl – limit-rate 10K http://denemealanadi.com/denemedosyasi.tar.gz -0
Kaynak : https://www.hostragons.com/curl-komutu-nedir-curl-komutunu-nasil-kullanabilirim/