by A.Gökhan, M.Sc. | Mayıs 5 12:04
Merhaba,
Bir çok web geliştirici, HTTP request / response servislerinden veri çekmek ihtiyacı hissetmiştir. Bu durumda karşı tarafa bir POST ihtiyacı duymuştur. Bu gibi sayısız örnek verilebilecek bir durumda CURL istekleri, hayat kurtarıcıdır.
Bir online alışveriş sitesi yönetiyorsunuz diyelim. Checkout sırasında, anlaşmalı olduğunuz bir firmanın kampanya kodunu kullanması için, müşteriye bir alan açtınız. Müşteri elindeki kodu girdi ve butona bastı. Anlık olarak siz o kampanya kodunu, anlaşmalı olduğunuz firmanın HTTP request / response servisine POST edip, gelen sonuca göre geçerli olup olmadığının bilgisini alıp kullanıcıya gösteriyorsunuz. Bu durum, tam da CURL isteği ile açıklanabilir.
Tabi bu örnekler, başta da söylediğim gibi artırılabilir. Ancak biz şimdi dilerseniz CURL kullanışını basitçe gösterelim:
HTTP Request / Response servisimiz, localhost üzerinde bulunan servis.php sayfası olsun.
1 2 3 4 5 6 |
if(isset($_POST['field'])) { print "Field is: ".$_POST['field']; } else { print "Field is blank!"; } |
CURL sayfamız ise bu servise, yukarıdan da anlaşılacağı üzere bir field değeri döndürecek. Dönen değer boş ise, “Field is blank!” mesajı gönderilecek. Eğer bir değer dönerse, “Field is: ” metini ekrana yazdırılacak.
1 2 3 4 5 6 7 8 9 10 11 |
//display error ini_set('display_errors', 1); //curl $ch = curl_init("http://localhost/CURL/servis.php"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POSTFIELDS, 'field=phpservisi.com'); curl_exec($ch); curl_close($ch); |
Yukarıdaki sayfa, curl.php adıyla kaydedilip çalıştırıldığında;
1 |
Field is: phpservisi.com |
sonuç ekrana yazdırılacaktır.
Ancak her durumda http:// sayfalara POST yapılmaz. Bazı durumlarda https:// güvenlikli sayfalarla etkileşim sağlanması gerekebilir. Bu durumda request gönderilen servisten dönen response alınabilmesi için, sertifikanın kabul edilmesi gerekmektedir. Bu durumda özel bir satır eklenecektir.
1 |
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); |
CURL için birçok tanımlı değişken bulunmaktadır. curl_setopt() fonksiyonun alacağı değerleri ve CURL hakkındaki her şeyi burada anlatmak mümkün olmayacaktır. Dolayısıyla PHP ile ilgili en doğru ve detaylı bilgiyi edinebileceğiniz php.net üzerinden PHP.NET | CURL[1] sayfasına bağlanabilir ve kendiniz inceleyebilirsiniz.
Bir sonraki yazıda görüşmek dileğiyle.
Source URL: http://www.phpservisi.com/php-ile-curl-istekleri/
Copyright ©2025 Phpservisi.com unless otherwise noted.