Php Curl Kütüphanesi

Php Curl Kullanımı ve Curl ile Veri Çekme

Bu işi yapmak için en basitinden file_get_contents() fonksiyonuna sahibiz. İçerisine yazacağımız ilk parametredeki adrese girip kaynağı bir değişkene yüklememizi post etmenizi ya da ekrana yazdırmamızı sağlar.Php Curl ile veri çekme işlemini bu kodu kullamnarak yapabilirsiniz

$site = “http://www.webirinci.com”;

$icerik = file_get_contents($site);

echo $icerik;

Bu örneği çalıştırdığımızda file_get_contents() fonksiyonu sayesinde adrese girip sitenin kaynağına ulaşıp o kaynağı ekrana yazdırdık.

Curl ile http,https, ftp, telnet, post, get metotlarını yüksek hız ve verimlilikte kullanabiliriz.

Örnek verecek olursak; Curl kullanarak web sitelerine kullanıcı adı ve şifre ile login olabilir, siteden bilgi çekebilir, downloadupload yapabilir, hatta tüm bu işlemleri yaparken proxy kullanabiliriz.

Curl web sunucumuzda aktif etmek için php.ini dosyasında

extension=php_curl.dll

satırının önündeki “;” silerek aktif hale getirilebilir.

Curl Parametreleri

curl_init();// Curl olturumu başlatır.

curl_setopt();// Kullanılacak bağlantı ayarları ve komutlar burada belirtirlir.

curl_exec();// Verilen komutları işler.

curl_close();// Curl oturumunu sonlandırır.

curl_getinfo();// Curl işlemi ile ilgili bilgiler alınır.

 

Php curl_setopt Parametreleri:

 

CURLOPT_USERAGENT: Sunucuya bizi tanıması için gönderilen bilgilerdir. Değiştirip istediğimiz bilgiyi gönderebiliriz. Useragent değerine googlebot yazarsak sunucu bizi google botlarından biri sanacaktır.

curl_setopt($crl, CURLOPT_USERAGENT, “Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Trans/20041002 Firefox/0.10”);

 

FOLLOWLOCATION: Sunucudan yapılan yönlendirmelerin takip edilip edilmeyeceği bilgisidir. Örneğin curl ile giris.php sayfasına gittik, server kontrol işlemlerini yaptı ve bizi index.php’ye yönlendirdi. FOLLOWLOCATION 1 olarak belirtilmişse bize index.php’nin kaynağı döner.Aksi durumda curl yönlendirmeyi takip etmez ve sonuç null döner.

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

CURLOPT_TIMEOUT: Curl’ün çalıştırılmasının ms olarak süresini belirler.

curl_setopt($crl, CURLOPT_TIMEOUT, 0);

 

CURLOPT_POST: Post metodunu kullanmak için 1 değeri verilmelidir.

curl_setopt($crl, CURLOPT_POST, 1);

 

CURLOPT_POSTFIELDS: Post edilecek data.

curl_setopt($crl,CURLOPT_POSTFIELDS,”adi=yselim&deger=merhaba”);

 

CURLOPT_HEADER: Curl oturumundan dönen sonuca header bilgisi eklemek için kullanılır.

curl_setopt($crl, CURLOPT_HEADER, 1);

 

CURLOPT_URL: Curl oturumunda gidilecek kaynağın adresi.GET metodu.

$aranan=”kocaeli+hava+durumu”;

$url=”http://www.google.com/search?q=”.$aranan;

curl_setopt($kaynak,CURLOPT_URL,$url);

 

CURLOPT_REFERER: Çoğu web sayfasında güvenlik önlemi olarak isteğin hangi url den geldiği kontrol edilir. Eğer kendi url’si dışında bir istek gelmişse hata döndürülür. Curl ile referer bilgisini değiştirmek de mümkün. Bu sayede isteği kendi url’sinden geliyor gibi gösterebiliriz.

curl_setopt($crl,CURLOPT_REFERER,”http://www.google.com”);

 

CURLOPT_HTTPPROXYTUNNEL: Proxy kullanılacağı belirtilir.

curl_setopt($crl, CURLOPT_HTTPPROXYTUNNEL, 1);

 

CURLOPT_PROXY: Proxy nin ip ve port bilgileri burada belirtilir.

curl_setopt($crl, CURLOPT_PROXY, ‘127.0.0.1:8080’); // local proxy

İlk örneğimizde Merkez Bankasından döviz kurunu alıp ekrana dökelim.

$crl = curl_init();// curl oturumunu başlat

curl_setopt($crl,CURLOPT_URL,”http://www.tcmb.gov.tr/kurlar/today.html”);//url atanıyor.


curl_setopt($crl, CURLOPT_HEADER, 0);// header bilgisi gönderme


echo curl_exec($crl); // curl_setopt parametrelerini işle ve ekrana dök

curl_close($crl); // curl oturumunu sonlandırır.

curl post

 

İkinci örneğimizde google sorgulamasını alıp ekrana dökelim.

CURL UYGULAMASI- Google search

$kaynak=curl_init();

$aranan=”kocaeli+hava+durumu”;

$url=”http://www.google.com/search?q=”.$aranan;

curl_setopt($kaynak,CURLOPT_URL,$url);

curl_setopt($kaynak, CURLOPT_HEADER, 0);

curl_setopt($kaynak,CURLOPT_RETURNTRANSFER,1);

$donus=curl_exec($kaynak);

echo $donus;

curl_close($kaynak);

Üçüncü örneğimizde kur değerinin sorgulamasını alıp ekrana dökelim.

$crl = curl_init();// curl oturumunu başlat

curl_setopt($crl, CURLOPT_URL,”http://www.tcmb.gov.tr/kurlar/today.html“);//url atanıyor.

curl_setopt($crl, CURLOPT_HEADER, 0);// header bilgisi gönderme

echo curl_exec($crl); // curl_setopt parametrelerini işle ve ekrana dök

curl_close($crl); // curl oturumunu sonlandırır.

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir