PHP cURL Kullanımı

tarafından
PHP cURL Kullanımı

PHP kullanarak bot yapmak ya da bir apiden veri çekmek istiyorsanız curl kodlarını kullanmanız gerekir. Bu konuda curl ile bağlantı yaparken kullanacağınız kodları size sunacağım.

Curl Başlatmak

İlk önce curl başlatalım. Ve bunu bir değişkene aktaralım.

$ch = curl_init();
Curl Ayarları

cURL bağlantımız için birçok ayar yapabiliyoruz.  Bunlara aşağıdaki adresten ulaşabilirsiniz.

http://php.net/manual/tr/function.curl-setopt.php

En fazla kullancağımız kodları paylaşıyorum ben kalanını yukarıdaki url adresinden kendiniz ayarlayabilirsiniz.

Bağlanılacak Adresi Belirtmek
curl_setopt($ch, CURLOPT_URL, "baglanilacakadres.com");
Curl Sonucunu Bir Değişkene Atamak

Eğer bu kodu kullanmazsanız curl işleminde sonuç direk ekrana yazdırılır. Ama eğer kullanırsanız curl_exec methodunu bir değişkene aktarıp istediğiniz şekilde yazdırabilirsiniz.

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Referer Ayarı Yapmak

Eğer aşağıdaki kodu kullanırsak siteye istediğimiz adres üzerinden bağlanabiliriz . Kısaca şöyle açıklıyım . Siz aşağıdaki google.com yerine hangi adrese yazarsanız karşı site sizi o siteden gelip bağlandığınızı algılar. Bazı siteler sitesinden içerik çekilmesini istemediği için dışardan veri çekmeyi engeller . Bu kod ile istediğimiz adresi referer olarak gösterebiliriz.

curl_setopt($ch,CURLOPT_REFERER,"https://google.com");
Yönlendirmeyi Takip Etmek

Siteye bağlandıktan sonra eğer site bir yönlendirmeye uğrarsa curl bu yönlendirmeyi takip eder.

curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
Useragent Ayarı

Bu kodu kullanarak karşı siteye nasıl bağlanacağınızı mobil,bilgisayar ya da hangi tarayıcı ile bağlanacağınızı belirtebiliyorsunuz.

curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
Curl Çalıştırma Ve Kapatmak

Artık son kısım curl çalışsın ve sonra curl kapatalım.

$data = curl_exec($ch);  // curlden dönen veriyi $dataya aktardık. Eğer RETURNTRANSFER ayarını yapmamış olsaydık curl çalışınca direk ekrana yazardı.
curl_close($ch);  // Artık işlemi sonlandırabiliriz. 
Curl Hata Kontrolü
if(curl_exec($ch) === false){
    echo 'Curl hatası: ' . curl_error($ch);}
else{
    echo 'İşlem hatasız tamamlandı';}
Bütün Kodları Birleştirelim

Kodları birleştirirken aynı zamanda ayarları nasıl array olarak yapacağınızı göreceksiniz.

$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => 'siteadresi.com',
    CURLOPT_RETURNTRANSFER => true ,
    CURLOPT_REFERER => "https://google.com",
    CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13',
]);
$data = curl_exec($ch);
if(curl_exec($ch) === false){
    echo 'Curl hatası: ' . curl_error($ch);}
else{
    echo 'İşlem hatasız tamamlandı';}
curl_close($ch);

Bu kodda dönen veriyi echo $data ile ekrana yazdırabilirsiniz.

İlginizi Çekebilir :   Symfony "Full authentication is required to access this resource" Hatası

SSL geçmek, post – get işlemi , ve dizin şifresini geçme işlemlerini farklı konularda anlatacağım . Sorularınızı yorum olarak sorabilirsiniz.