Etiket arşivi: Php SSl Sertifikalı siteden veri çekme

Php Veri Çekme ve Curl Kullanımı – SSL ve Timeout Sorunu

Merhaba php ile farklı bir adresten veri çekme ihtiyacınız illaki olmuştur.Bu işi yapmanın php’de en iyi yolu bence curl. Curl ile veri çektiğiniz adrese istediğiniz header bilgilisini gönderebilir ve istediğiniz sonucu daha kolay alabilirsiniz. Diğer bir yöntem ise file_get_contents metodu fakat ben bunu anlatmıyıcam. Örnek curl fonksiyonunu paylaşıyorum ve onun üzerine konuşacağız.

function get_data($url){
   $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL,$url);
   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_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
   curl_setopt($ch, CURLOPT_COOKIEJAR, 'amazoncookie.txt');
   curl_setopt($ch, CURLOPT_COOKIEFILE, 'amazoncookie.txt');
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
   curl_setopt($ch, CURLOPT_REFERER, $url);
   curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,5000);

   $result = curl_exec($ch);

   return $result;
   curl_close($ch);
}

CURLOPT_URL – bu parametre bizim hedef adresimizi belirtiyor.
CURLOPT_USERAGENT – Bu parametre user agent yani hedefe nasıl tanıtılacağımızın bilgisini veriyor.
CURLOPT_FOLLOWLOCATION – Bu adres yönlendirmelerini kabul edip etmememiz için gerekli.(1 ise yönlendirmeleri kabul ediyor)
CURLOPT_COOKIEJAR,CURLOPT_COOKIEFILE – Bu iki parametre cookie lerin kayıt etilmesini sağlıyor.
CURLOPT_SSL_VERIFYPEER – bu arkadaşın false değerini almasıyla ssl sertifikası doğrulama zorunlu olmaktan çıkıyor.SSL sertifikasını doğrulamasını istiyorum diyorsanız OpenSSL extension aktif etmelisiniz.
CURLOPT_REFERER – Bu paramteredeki bilgi bu adrese hangi adresten geldiğimizin bilgisini vermemizi sağlıyor .
CURLOPT_CONNECTTIMEOUT – Bu parametreye verdiğimiz değer ile bağlantının kaç saniyede zaman aşımına uğrayacağını belirtmiş oluyoruz.