PHP’de Detaylı cURL Kullanımı
PHP’de Detaylı cURL Kullanımı
PHP’de cURL kullanarak web üzerinde veri alışverişi yapmak oldukça yaygın bir gerekliliktir. cURL, PHP’de HTTP isteklerini programatik olarak yapmak için kullanılan bir kütüphanedir. Bu makalede, cURL’ün ne olduğunu, nasıl kullanılacağını ve bir örnek ile nasıl uygulanacağını anlatacağım.
PHP cURL Nedir?
PHP cURL, PHP’de sunucu ve istemci arasında veri alışverişi yapmak için kullanılan bir kütüphanedir. Bu, diğer web sunucularıyla iletişim kurmak, API’lerle etkileşimde bulunmak veya web sayfalarını çekmek gibi birçok işlem için kullanılabilir. cURL, farklı protokollerle (HTTP, FTP, SMTP vb.) iletişim kurabilir ve çeşitli kimlik doğrulama yöntemlerini destekler.
PHP cURL’ü Etkinleştirme
Öncelikle, cURL’ün PHP kurulumunuzda etkinleştirilmiş olduğundan emin olmalısınız. cURL, PHP’nin varsayılan olarak kurulu bir modülüdür, ancak bazı durumlarda etkinleştirilmesi gerekebilir. Bu, php.ini dosyanızı düzenleyerek veya sunucunuzun yapılandırma ayarlarını değiştirerek yapılabilir.
Temel cURL İşlemleri
- Bir URL’e İstek Gönderme:
<?php
// cURL özkaynak oluştur
$ch = curl_init();// URL belirle
curl_setopt($ch, CURLOPT_URL, “http://example.com”);// Veriyi almak için isteği yap
curl_exec($ch);// cURL özkaynağını kapat
curl_close($ch);
?>
Yukarıdaki kod, “http://example.com” adresine bir HTTP GET isteği gönderir.
- POST İsteği Gönderme:
<?php
// cURL özkaynak oluştur
$ch = curl_init();// URL belirle
curl_setopt($ch, CURLOPT_URL, “http://example.com”);// POST verilerini belirle
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, “name=John&age=30”);// Veriyi almak için isteği yap
curl_exec($ch);// cURL özkaynağını kapat
curl_close($ch);
?>
Yukarıdaki kod, “http://example.com” adresine bir HTTP POST isteği gönderir ve “name” ile “age” adında iki değişken gönderir.
- Yanıtı Yakalama:
<?php
// cURL özkaynak oluştur
$ch = curl_init();// URL belirle
curl_setopt($ch, CURLOPT_URL, “http://example.com”);// Yanıtı almak için CURLOPT_RETURNTRANSFER ayarını kullan
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);// Yanıtı almak için isteği yap
$response = curl_exec($ch);// cURL özkaynağını kapat
curl_close($ch);// Yanıtı ekrana yazdır
echo $response;
?>
Yukarıdaki kod, “http://example.com” adresine bir istek gönderir ve yanıtı $response değişkeninde saklar.
PHP cURL Örneği
Aşağıda, belirli bir API’ye GET isteği gönderen ve yanıtı ekrana yazdıran basit bir PHP cURL örneği verilmiştir:
<?php
// cURL özkaynak oluştur
$ch = curl_init();// API URL belirle
$url = “http://api.example.com/data”;// URL’yi belirle
curl_setopt($ch, CURLOPT_URL, $url);// Yanıtı almak için CURLOPT_RETURNTRANSFER ayarını kullan
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);// Veriyi almak için isteği yap
$response = curl_exec($ch);// Eğer istekte bir hata varsa, hata mesajını al
if(curl_errno($ch)) {
echo ‘cURL Hatası: ‘ . curl_error($ch);
}// cURL özkaynağını kapat
curl_close($ch);// Yanıtı ekrana yazdır
echo $response;
?>
Bu örnek, “http://api.example.com/data” adresine bir GET isteği gönderir ve API’den gelen yanıtı ekrana yazdırır.
Diğer bir örnek :
Php dilinde cURL ile Google’dan veri çekme işlemi nasıl yapılır ?
<?php
function googleSearchPosition($siteLink, $searchText) {
$searchText = str_replace(‘ ‘, ‘+’, $searchText);
$url = “https://www.google.com/search?q=$searchText”;$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_USERAGENT => ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3’,
CURLOPT_SSL_VERIFYPEER => false
));
$response = curl_exec($curl);
curl_close($curl);$position = strpos($response, $siteLink);
if ($position !== false) {
$position = ($position – 32) / 67 + 1;
}return $position;
}$siteLink = “your_site_link_here”;
$searchText = “your_search_text_here”;
$position = googleSearchPosition($siteLink, $searchText);if ($position) {
echo “Your site is ranked $position in Google search results.”;
} else {
echo “Your site is not found in the first page of Google search results.”;
}?>
Bu PHP kodu, belirli bir site bağlantısının ve arama metninin Google’da kaçıncı sırada olduğunu belirlemek için bir işlev sağlar. curl
kullanarak Google arama sonuçlarını alır ve sonrasında bu sonuçları inceler. Ancak, bu kodu kullanırken Google’ın otomatik botlar tarafından yapılan sorguları sınırlayabileceğini unutmayın. Bu nedenle, büyük miktarda sorgu gönderirken Google’ın hizmet kullanım koşullarını ihlal etmediğinizden emin olun.
Sonuç
PHP cURL, web üzerinde veri alışverişi yapmak için güçlü bir araçtır. Bu makalede, cURL’ün temel kullanımını ve bir örnek uygulamayı öğrendiniz. Artık cURL’ü kullanarak web tabanlı uygulamalarınızda daha karmaşık işlemler gerçekleştirebilirsiniz.