PHP ile CURL Kullanımı
Herkese merhaba bu yazıda sizlere PHP dilinde CURL kütüphanesinin kullanımını anlatacağım. CURL bot yapımında sıkça kullanılan bir işlemdir. Şimdi temel olarak kulanımına bakalım.CURL web protokoleri arasında veri taşıyabilen çok güçlü bir web sistemidir. Web siteleri arasında veri taşımaya yarayan bir sistemdir bu sayede giriş yaptırılması gerekilen yerlerde giriş yaptırılabilir veya herhangi bir api kullanılabilir. CURL ile basit http işlemlerinden çok karmaşık ftp işlemlerine kadar hepsi yapılabilr. Sayfaya sadece POST veya GET ile değer göndererek çok karmaşık işlemleri hızlı bir şekilde yapabilirsiniz.
Şimdide Temel Olarak Nasıl Kullanıldığına Bakalım:
CURL ile ilgili bir işlem yapmadan önce CURL'u başlatmamız gerekmektedir. Başlattıktan sonra istediğimiz işlemleri yapabiliriz. Curl kütüphanesini curl_init(); fonksiyonu ile başlatıyoruz. u fonksiyonu çağırıyoruz ve işlemlerimizi yapıyoruz. Ondan sonra CURL sonlandırma yapıyoruz.
Bu bilgileride aldığımıza göre şimdi örnekler yapalım ve konuyu pekiştirelim.
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://thekodprogram.com');
Yukarıdaki örnekte bir curl dosyası oluşturduk ve işlemin yapılacağı url'in thekodprogram.com olmasını sağladık. Aynı işlemi aşağıdaki gibide yapabiliriz. Sonuçta hedef olduğu için bir sorun olmayacaktır.
$curl = curl_init('http://thekodprogram.com');
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'http://thekodprogram.com'
));
Yukarıda gördüğümüz gibi oluşturduğumuz CURL nesnemizin içerisine göndermek istediğimiz değerleri bir dizi halinde gönderdik ve o şekilde çalışabilir hale getirdik.
Peki göndereceğimiz verileri hazırladık bunları nasıl göndereceğimizi konuşmayacağızmı dediğinizi duyar gibiyim. Şimdi ona bakalım.
curl_exec() metodu ile oluşturduğumuz CURL nesnemizi çalıştırırız ve istediğimiz işlemlerin yapılmasını bekleriz. işlemini tamamlayınca bize true veya false olarak bir değer döndürür ve bizde bu değere göre işlem yapılmışmı yapılmamışmı anlarız.
$sonuc = curl_exec($curl);
Yukarıdaki şekilde çalıştırılır ve $sonuc değişkenine atılır.
- true olursa işlem başarılı bir şekilde yapılmıştır.
- false olursa işlem sırasında hatalar alınmıştır ve işlem yapılamamaıştır.
Eğer yukarıdan sonuç gelirse gelen sonuç sitenin içerisindeki veridir. Mesela bir JSON veya XML veya CSV tarzında bir veri olabilir. Bu veriyi biz okuyarak istediğimiz işlemi yaparız.
işlemimizi bitirdikten sonra curl işlemini curl_close(); fonksiyonu ile sonlandırmalıyız.
// cURL başlatılıyor
$curl = curl_init();
// aşağıda bazı yapılandırma ayarları ekleyelim
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'http://thekodprogram.com/',
CURLOPT_USERAGENT => 'Mozilla Firefox 5.0'
));
// aşağıda cURL işlemini başlatıyortuz
$resp = curl_exec($curl);
// ve işlem sonlanınca cURL oturumunu sonlandırıyoruz.
curl_close($curl);
// cURL oluşturuluyor
$curl = curl_init();
// Bazı ayarlamalar yapılıyor
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'http://thekodprogram.com',
CURLOPT_USERAGENT => 'UserAgentAdı',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => array(
username=> 'burakhamdi',
password=> '123456'
)
));
// Oluşturduğumuz CURL kütüphanesini çalıştırıyoruz
$resp = curl_exec($curl);
// ve cURL oturumunu sonlandırıyoruz
curl_close($curl);
Peki herhangi bir hata aldığımızda bu hataların bir kodu varmıdır diye sorarsanız eğer onuda aşağıdaki şekilde kontrol edebiliriz.
if(!curl_exec($curl)){
die('Hata: "' . curl_error($curl) . '" - Kodu: ' . curl_errno($curl));
}
Yukarıdaki şekilde dönen hataları kontrol ettirebiliriz.
Bu şekilde basit olarak CURL nedir ve ne iş yapar bahsettik. PHP'nin bana göre en büyük nimetlerindendir kendisi. BU yüzden kullanmanızı ve kesinlikle daha derinlere inerek öğrenmenizi tavsiye ediyorum.
Bu yazımızda bu kadar arkadaşlar. Takipte Kalın
Burak Hamdi TUFAN
Comments