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.
1 |
$ch = curl_init(); |
Curl Ayarları
cURL bağlantımız için birçok ayar yapabiliyoruz. Bunlara aşağıdaki adresten ulaşabilirsiniz.
1 |
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
1 |
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.
1 |
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.
1 |
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.
1 |
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.
1 |
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.
1 2 |
$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ü
1 2 3 4 |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$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.
SSL geçmek, post – get işlemi , ve dizin şifresini geçme işlemlerini farklı konularda anlatacağım . Sorularınızı yorum olarak sorabilirsiniz.