cURL nedir? Ne İşe Yarar?

cURL nedir? Ne İşe Yarar?

Öncelikle curl ne işe yarar ona değinelim. Curl fonksiyonu ile file_get_contents gibi diğer sitelerin kaynak kodunu çekebilir, diğer sitelerden hostunuza dosya download edebilirsiniz. file_get_contents den farklı olarak istediğiniz siteye login olabilirsiniz, referrer, cookie ve useragent gibi bilgilerinizi değiştirebilirsiniz, yada isterseniz proxy ile bağlanabilirsiniz. Ayrıca file_get_contents e göre sunucuyu daha az yorar ve daha performanslıdır.

Kullanımında temel olarak birkaç fonksiyon ile uygulanır. Onları öğrenelim önce; 

curl_init() :  curl oturumunu açar.
curl_setopt():  referrer, url, useragent, postdata gibi ayarların yapıldığı fonksiyon.
curl_exec(): bu fonksiyon yazılana kadar olan curl fonksiyonlarını işleme sokar ve gelen veriyi alır.
curl_close(): curl oturumunu kapatır.
 
Temel yapı ve kullanım sırası bu şekildedir:

- curl_init() oturumunu açtığımızda diğer fonksiyonlarda o oturum ile çalıştığımızı belirtmeliyiz. Yani;

1
$ch = curl_init();
 
- Burada $ch değişkenimize bir oturum açtık, bundan sonraki işlemlerimizde bu oturum ile işlem yapacağız. Örneğin ref5 sitesine bağlanacaksak

1
curl_setopt($ch, CURLOPT_URL,"http://ref5.net");
 
- Şeklinde olacak. Burada curl_setopt fonksiyonu ile curl de yapacağımız işlemleri belirtiyoruz. Kullanımı şu formattadır;

1
curl_setopt(curl_oturumu,yapılacak_işlem,işlem_değişkeni);
- Üstte yazdığımız CURLOPT_URL işlemi, gidilecek url adresini belirtir.


- En önemli kısım, curl_exec fonksiyonudur. Kullanımı şu şekilde;

1
curl_exec($ch);


- Yani içine işlemler tanımladığımız oturumumuzu işleme sokar, ve işlem sonundaki verileri gösterir. Bu şekilde kullandığımızda aldığı verileri direk ekrana yazdırır. Bunu önlemek için gelen verileri bir değişkene almamız gerekir.

1
$veri = curl_exec($ch);
 
- Bu şekilde gelen verileri $veri değişkenine aktardık. Daha sonra bu değişkende işimize yarayan kısımları ayıklayarak istediğimiz yerde kullanabiliriz.

- Son olarak geldik curl oturumumuzu kapatmaya.

1
curl_close($ch);

- Şeklinde kodlamamızı bitiriyoruz.

- Toparlarsak, genel kullanıma örnek bir kodla özetleyelim;
 
1
2
3
4
5
6
$ch = curl_init(); // oturumumuzu açtık<br />
curl_setopt( $ch , CURLOPT_URL , &quot;http://ref5.net&quot; ); // ref5 url sine bağlanma işlemi tanımladık<br />
$veri = curl_exec($ch); // oturumu işleme soktuk ve gelen veriyi $veri değişkenine aldık<br />
curl_close($ch); // oturumu kapattık</p>
<p>echo $veri; // oturumdan gelen $veri değişkenini ekrana yazdırdık</p>
<p>


Bu cevap yeterince yardımcı oldu mu?

 Bu dökümanı yazdır