Curl Plugin
Curl plugini, php'deki curl
kütüphanesini kullanarak bir ya da daha fazla sitenin, farklı protokollerle bağlantı kurmasını ve veri iletişimini sağlar.
Plugini Dahil Etmek
Curl plugini, controller içerisinde aşağıdaki şekilde uygulamaya dahil edilir;
$this->load->plugin('curl');
GET Methodu ile İstek Gönderimi
Bir web sitesine GET methodu ile istek göndermek için get()
methodu kullanılır. İstek gönderilecek url ve eğer varsa url parametrelerinin yer aldığı bir dizi değişken parametre olarak verilir.
Parametre | Veri Tipi |
---|---|
$url | string |
$params | array |
// Örnek kullanım
$this->curl->get('google.com'); // http://google.com adresine get methodu ile istek gönderir.
// ya da
$this->curl->get('google.com?q=test'); // http://google.com adresine "test" parametresi ile istek gönderir.
// ya da
$this->curl->get('google.com?q=test', ['anahtar' => 'deger']); // http://google.com adresine "test" ve "deger" parametreleri ile istek gönderir.
echo $this->curl->responseBody; // Site içeriğini ekrana basar.
print_r($this->curl->responseHeader); // İstek sonucu dönen header verisini ekrana basar.
Yukarıdaki örnek aşağıdakine benzer bir çıktı verecektir;
<html>
<head>
<title>Google.com</title>
</head>
<body>
İçerikteki html kodları
</body>
</html>
Array
(
[Http-Version] => 1.0
[Status-Code] => 200
[Status] => 200 OK
[Cache-Control] => private
[Content-Type] => text/html; charset=ISO-8859-1
[Date] => Wed, 01 Mar 2017 10:39:48 GMT
[Server] => gws
[Connection] => close
)
POST Methodu ile İstek Gönderimi
Bir web sitesine POST methodu ile istek göndermek için post()
methodu kullanılır. İstek gönderilecek url ve post edilecek verilerin bulunduğu bir dizi değişken parametre olarak verilir.
Parametre | Veri Tipi |
---|---|
$url | string |
$params | array |
// test.com/login adresine, verilen parametrelerle birlikte POST isteği gönderir.
$this->curl->post('test.com/login', ['username' => 'johndoe', 'userpass' => '1234']);
PUT Methodu ile İstek Gönderimi
Bir web sitesine PUT methodu ile istek göndermek için put()
methodu kullanılır. İstek gönderilecek url ve verilerin bulunduğu bir dizi değişken parametre olarak verilir.
Parametre | Veri Tipi |
---|---|
$url | string |
$params | array |
// http://test.com/page sayfasına deger parametresi ile put isteği gönderir.
$this->curl->put('test.com/page', ['anahtar' => 'deger']);
DELETE Methodu ile İstek Gönderimi
Bir web sitesine DELETE methodu ile istek göndermek için delete()
methodu kullanılır. İstek gönderilecek url ve verilerin bulunduğu bir dizi değişken parametre olarak verilir.
Parametre | Veri Tipi |
---|---|
$url | string |
$params | array |
// http://test.com/delete sayfasına deger parametresi ile delete isteği gönderir.
$this->curl->delete('test.com/delete', ['anahtar' => 'deger']);
User Agent Tanımlama
HTTP isteğinde kullanılacak "User-Agent: "başlığının içeriği $userAgent
değişkeni ile belirlenir. İstek gönderilmeden önce yapılmalıdır.
// Google Chrome tarayıcısına ait örnek bir user agent bilgisi
$this->curl->userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7';
Referer Tanımlama
HTTP isteğinde kullanılacak "Referer: " (hangi siteden istek yapıldığını belirtir) başlığının içeriği $referer
değişkeni ile belirlenir. İstek gönderilmeden önce yapılmalıdır.
$this->curl->referer = 'test.com';
Custom Header Tanımlama
HTTP isteğinde gönderilecek header (başlık alanı) bilgiler $headers
dizi değişkeni ile belirlenir. İstek gönderilmeden önce yapılmalıdır.
$this->curl->headers = [
"Content-type" => "text/xml;charset=\"utf-8\"",
"Accept" => "text/xml",
"Cache-Control" => "no-cache",
"Pragma" => "no-cache"
];
Custom Options Tanımlama
HTTP isteğinde sırasındaki Curl oturumunun özellikleri $options
dizi değişkeni ile belirlenir. İstek gönderilmeden önce yapılmalıdır.
$this->curl->options = [
"CURLOPT_RETURNTRANSFER" => 1,
"CURLOPT_TIMEOUT" => 60,
"CURLOPT_FOLLOWLOCATION" => 1
];