Curl Kütüphanesi
Curl kütüphanesi, 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.
- GET Methodu ile İstek Gönderimi » get()
- POST Methodu ile İstek Gönderimi » post()
- PUT Methodu ile İstek Gönderimi » put()
- DELETE Methodu ile İstek Gönderimi » delete()
- Head Methodu ile İstek Gönderimi » head()
- İstek Sonucunda Dönen Header Verisini Okuma » responseHeader()
- İstek Sonucunda Dönen İçeriği Okuma » responseBody()
- User Agent Tanımlama » setUserAgent()
- Referrer Tanımlama » setReferrer()
- Header Tanımlama » setHeader()
- Oturum Seçeneklerini Tanımlama » setOptions()
- Hataları Görme » getError()
GET Methodu ile İstek Gönderimi
Bir web sunucusuna 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ığı array
tipinde bir değişken parametre olarak verilir.
Parametre | Veri Tipi | Açıklama |
---|---|---|
$url | String | İstek gönderilecek url |
$params | Array | URL parametreleri |
// http://google.com adresine get methodu ile istek gönderir.
Curl::get('google.com');
// http://google.com adresine "test" parametresi ile istek gönderir.
Curl::get('google.com?q=test');
// http://google.com adresine "test" ve "deger" parametreleri ile istek gönderir.
Curl::get('google.com?q=test', ['anahtar' => 'deger']);
// Site içeriğini ekrana basar.
echo Curl::responseBody();
// İstek sonucu dönen header verisini ekrana basar.
print_r(Curl::responseHeader());
Yukarıdaki örnek, aşağıdakine benzer bir çıktı verecektir;
<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 sunucusuna POST
methodu ile istek göndermek için post()
methodu kullanılır. İstek gönderilecek url ve post edilecek verilerin bulunduğu array
tipinde bir değişken parametre olarak verilir.
Parametre | Veri Tipi | Açıklama |
---|---|---|
$url | String | İstek gönderilecek url |
$params | Array | Post edilecek veriler |
// test.com/login adresine, verilen parametrelerle birlikte POST isteği gönderir.
Curl::post('test.com/login', ['username' => 'johndoe', 'userpass' => '1234']);
PUT Methodu ile İstek Gönderimi
Bir web sunucusuna PUT
methodu ile istek göndermek için put()
methodu kullanılır. İstek gönderilecek url ve verilerin bulunduğu array
tipinde bir değişken parametre olarak verilir.
Parametre | Veri Tipi | Açıklama |
---|---|---|
$url | String | İstek gönderilecek url |
$params | Array | Gönderilecek veriler |
// http://test.com/page sayfasına deger parametresi ile put isteği gönderir.
Curl::put('test.com/page', ['anahtar' => 'deger']);
DELETE Methodu ile İstek Gönderimi
Bir web sunucusuna DELETE
methodu ile istek göndermek için delete()
methodu kullanılır. İstek gönderilecek url ve verilerin bulunduğu array
tipinde bir değişken parametre olarak verilir.
Parametre | Veri Tipi | Açıklama |
---|---|---|
$url | String | İstek gönderilecek url |
$params | Array | Gönderilecek veriler |
// http://test.com/delete sayfasına deger parametresi ile delete isteği gönderir.
Curl::delete('test.com/delete', ['anahtar' => 'deger']);
HEAD Methodu ile İstek Gönderimi
Head
methodu ile gönderilen HTTP istekleri, GET
methodu ile aynıdır. Tek fark, HEAD
methodunda, istek gönderilen sunucu sadece header
bölümündeki bilgileri döndürür.
head()
methodu ile kullanılır. İstek gönderilecek url ve verilerin bulunduğu array
tipinde bir değişken parametre olarak verilir.
Parametre | Veri Tipi | Açıklama |
---|---|---|
$url | String | İstek gönderilecek url |
$params | Array | Gönderilecek veriler |
// http://google.com adresine "test" ve "deger" parametreleri ile head isteği gönderir.
Curl::head('google.com?q=test', ['anahtar' => 'deger']);
İstek Sonucunda Dönen Header Verisini Okuma
Herhangi bir method ile gönderilen istek sonucunda, sunucu tarafından dönen header bilgisini okumak için responseHeader()
methodu kullanılır. Parametre verilmezse tüm header bilgisini array
tipinde döndürür. Belirli bir header bilgisine erişmek için, istenen haeder başlığı parametre olarak verilir.
Parametre | Veri Tipi | Açıklama |
---|---|---|
$key | String | Header verisi (Default: null) |
// http://google.com adresine "test" ve "deger" parametreleri ile istek gönderir.
Curl::get('google.com?q=test', ['anahtar' => 'deger']);
// Gönderilen istek sonucunda dönen header bilgisini ekrana basar
print_r(Curl::responseHeader());
// Header bilgisinde bulunan 'Status-Code' bilgisini ekrana basar
echo Curl::responseHeader('Status-Code');
İstek Sonucunda Dönen İçeriği Okuma
Herhangi bir method ile gönderilen istek sonucunda, sunucu tarafından dönen içeriği okumak için responseBody()
methodu kullanılır.
// http://google.com adresine "test" ve "deger" parametreleri ile istek gönderir.
Curl::get('google.com?q=test', ['anahtar' => 'deger']);
// Gönderilen istek sonucunda dönen içeriği ekrana basar
echo Curl::responseBody();
User Agent Tanımlama
Herhangi bir method ile gönderilecek HTTP isteğine user agent tanımlamak için setUserAgent()
methodu kullanılır. User agent verisini parametre olarak alır.
Parametre | Veri Tipi | Açıklama |
---|---|---|
$user_agent | String | User agent verisi |
Curl::setUserAgent('Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0')
Referrer Tanımlama
Herhangi bir method ile gönderilecek HTTP isteğine referrer (yönlendirici) tanımlamak için setReferrer()
methodu kullanılır. Referrer verisini parametre olarak alır.
Parametre | Veri Tipi | Açıklama |
---|---|---|
$referrer | String | Referrer verisi |
Curl::setReferrer('www.titanphp.com');
Header Tanımlama
Herhangi bir method ile gönderilecek HTTP isteğin header (başlık) bilgilerini tanımlamak için setHeader()
methodu kullanılır. Header adı ve içeriği ayrı parametrelerde verilebileceği gibi, tüm header bilgisinin bulunduğu bir array
de parametre olarak verilebilir.
Parametre | Veri Tipi | Açıklama |
---|---|---|
$header | String|Array | Header adı|Header dizisi |
$value | String | Header içeriği |
// Ayrı parametreler ile kullanım
Curl::setHeader('Content-type', 'text/xml;charset="utf-8"');
// Tek parametre ile kullanım
Curl::setHeader([
'Content-type' => 'text/xml;charset="utf-8"',
'Accept' => 'text/xml',
'Cache-Control' => 'no-cache',
'Pragma' => 'no-cache'
]);
Oturum Seçeneklerini Tanımlama
HTTP isteğinde sırasındaki Curl oturum tanıtıcısında seçenek tanımlamak için setOptions()
methodu kullanılır. İstek gönderilmeden önce yapılmalıdır. Seçeneğin adı ve içeriği ayrı parametrelerde verilebileceği gibi, tüm seçenekler yer aldığı bir array
de parametre olarak verilebilir.
Parametre | Veri Tipi | Açıklama |
---|---|---|
$option | String|Array | Seçenek adı|Seçenek dizisi |
$value | String | Seçenek içeriği |
// Ayrı parametreler ile kullanım
Curl::setOptions('CURLOPT_RETURNTRANSFER', 1);
// Tek parametre ile kullanım
Curl::setOptions([
'CURLOPT_RETURNTRANSFER' => 1,
'CURLOPT_TIMEOUT' => 60,
'CURLOPT_FOLLOWLOCATION' => 1
]);
Hataları Görme
Curl ile aktarım işlemi sırasında oluşan hataları görmek için getError()
methodu kullanılır.
echo Curl::getError();