Bu yazımda sizler “curl” komutu hakkında bilgi vermeye ve nasıl kullanılacağına dair örnekler ile göstermeye çalışacağım. Şimdiden okuyan herkese teşekkür ederim 🙂
cURL nedir?
“Client URL” sözcüğünün kısaltılmış halidir. Bu araç ile HTTP isteklerini komut satırından yapabiliriz. cURL ile client yani istemci tarafından URL transferi yapabilmemizi sağlayan bir kütüphanedir. URL içerisinde veri aktarı sağlar. Ayrıca URL’in bir karşılığı olup olmadığını kontrol etmemizi de sağlar. Bunu yaparken URL adresine “GET”, “PUT”, “DELETE” veya “POST” istekleri atmamıza imkan verir.
Curl komutunun desteklediği bazı protokoller şunlardır:
- HTTP ve HTTPS
- FTP ve FTPS
- IMAP ve IMAPS
- POP3 ve POP3S
- SMB ve SMBS
- SCP
- TELNET
- SMTP ve SMTPS
cURL Kullanımı Örnekleri
Buradan itibaren sizlere cURL kullanımı ile ilgili örnekler vermeye çalışacağım
1) cURL kurulumu
Debian veya Ubuntu tabanlı linux işletim sistemlerine aşağıdaki gibi kurulumu yapılabilir.
apt install curl
2) En basit kullanımı
Aşağıdaki kullanım ile sayfanın kaynak kodunu elde edebiliriz
curl <web sitesi adı>
Tabiki de eğer çıktımızı daha kısa halde görmek istersek “-v” parametresini kullanabiliriz.
curl -v <web sitesi adı>
Hemen bir örnekte görelim.
Örnek: curl -v benimsitem.com
3) Dosya indirme
cURL ile dosya indirmenin iki parametresi var. Bunlar “-o” ve “-O” parametreleridir. “-o” parametresi ile dosyayı yeniden adlandırıp kaydebilirken “-O” parametresi ile dosyayı default isimle kaydetmiş oluruz.
curl -O <web sitesi adı>
Eğer dosyayı kendi istediğimiz bir isimle kaydetmek istersek şu şekilde kullanabiliriz.
curl -o <dosya ismi> <web sitesi adı>
Hemen bir örnekte görelim.
Örnek: curl -O benimsitem.com
Örnek: curl -o sitebilgisi.txt benimsitem.com
4) Sitenin HTTP Header bilgisini almak
Web sitesinin header yani başlık bilgisini almak bazen önemli bilgiler elde etmemizi sağlar. Bunu yapmak için aşağıdaki komutu komutu kullanmamız yeterlidir.
curl -I <web sitesi adı>
Hemen bir örnekte görelim.
Örnek: curl -I benimsitem.com
5) Authentication işlemi yapmak
cURL ile site içindeki kimlik doğrulama işlemleri için kullanıcı adı ve şifre değeri sağlayabiliriz. Bunu yapmanın yolu şu şekildedir.
curl –user [kullanıcı adı]:[şifre] <web sitesi adı>
Hemen bir örnekte görelim.
Örnek: curl --user name:password benimsitem.com
6) HTTP POST isteği göndermek
Siteye post isteği atmak şu şekilde gerçekleşebilir.
curl -data “<gönderilecek veri>” <web sitesi adı>
Burayı anlamak biraz sıkıntı olabilir. URL içinde taşınan değerler olabilir. Siz bu veriyi deneyerek bir yerlere girmeye çalışabilirsiniz. Mesela URL içinde taşınabilecek değerler “name”, “date”, “valid” gibi kavramlar olabilir. Bir örnek içinde görelim.
Örnek: curl -data “name=Mehmet” benimsitem.com
Örnek: curl -date “text= ADMIN” seninsiten.com
İlk örnekte “name” değerini “Mehmet” olarak atadık. Demekki URL içinde “name” isminde bir değişken ile veriler taşınabiliyormuş.
İkinci örnekte aynı mantıkta. “text” değişkeni içinde taşınan değerler varmış.
7) Cookie İşlemleri
Eğer cookie’leri kaydetmek isterseniz aşağıdaki yöntemi kullanabilirsiniz.
curl –cookie-jar <dosya ismi><web sitesi adı>
veya
curl -c <dosya ismi><web sitesi adı>
kullanılabilir. Yukarıdaki iki örnek cookie bilgilerini bir yere kaydetmek için kullanılır. Ayrıca bu kaydettiğiniz cookie bilgilerini de daha sonra kullanmak için şu yöntemi kullanabilirsiniz. Cookie’leri okumak için yani siteye tekrar yollamak için;
curl -b <dosya ismi> <web sitesi>
Hemen örnekler üzerinden gösterelim. Cookie bilgisini kaydetmek için;
curl -c cookiebilgisi.txt benimsitem.com
Kaydettiğim cookie bilgisini tekrar kullanmak için;
curl -b cookiebilgisi.txt benimsitem.com
8) Post isteği yollamak
Bunu yapmanın yolu şudur.
curl -X POST <web sitesi adı>
Hemen birkaç örnek gösterelim.
curl -X POST benimsitem.com
Buraya kadar elimden geldiğince “curl” komutu hakkında bilgi vermeye çalıştım. Tabiki de “curl” komutu bu kadar diyemeyiz. Ben sadece en çok kullanılan yerlerden sizlere bahsetmeye çalıştım. Daha fazla bilgi almak isterseniz Linux terminal satırına “man curl” yazmanız yeterlidir. Ayrıca buradan da daha fazla bilgi ve örneğe ulaşabilirsiniz. Okuyan herkese tekrardan teşekkür ederim. Bir sonraki yazımda görüşmek üzere..
Bir Cevap Yazın