PHP cURL Nedir ve Neden Kullanılır?
PHP cURL, PHP'de serverdan HTTP istekleri göndermek ve almak için kullanılan güçlü bir kütüphanedir. cURL, "client URL" nin kısaltmasıdır ve web üzerinde verilere erişmek için yaygın olarak tercih edilir.
cURL ile yapabilecekleriniz arasında şunlar yer alır:
- Web sayfalarından veri çekme
- API'lerle entegrasyon
- Otomatik bot işlemleri
cURL Kurulumu ve Temel Ayarları
cURL Kurulumu
cURL genellikle PHP'nin bir parçası olarak gelir, ancak yüklü değilse, terminal veya komut istemcisi üzerinden kolayca yükleyebilirsiniz:
sudo apt-get install php-curl
cURL Temel Ayarları
Basit bir cURL isteği başlatmak için aşağıdaki adımları izleyin:
// cURL oturumunu başlatma
$ch = curl_init();
// URL'yi ayarlama
curl_setopt($ch, CURLOPT_URL, "http://example.com");
// Yanıtı bir değişkene yaz
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// İsteği gönder
$response = curl_exec($ch);
// Hata kontrolü
if($response === false) {
echo 'Curl error: ' . curl_error($ch);
}
// Oturumu kapatma
curl_close($ch);
// Yanıtı işleme
print_r($response);
Dış Kaynaklardan Veri Çekme
Dış kaynaklardan veri çekme işlemi, basit bir GET isteği ile kolayca yapılabilir. Örnek olarak JSON formatında veri çeken bir cURL isteğini görelim:
$ch = curl_init("https://api.example.com/data");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);
Bu kod parçacığı, belirtilen URL'den JSON verilerini çeker ve PHP dizisine dönüştürür.
Bot Yapımı: Adım Adım
Bot Nedir?
Botlar, belirli görevleri otomatikleştirmek için oluşturulmuş programlardır. cURL ile verileri çekip analiz ederek istenilen işlemi yapacak botlar geliştirebilirsiniz.
Botun İşlevselliğini Belirleme
Öncelikle botunuzun görevini belirlemeniz gerekir. Örnek olarak, bir alışveriş sitesinde fiyat düşüşlerini takip eden bir bot yapalım:
- Bot hedef web sitesinden bilgileri çeker.
- Belirlenen ürünlerin fiyatlarını kontrol eder.
- Fiyat düşerse bir uyarı e-postası gönderir.
Bot Kod Yapısı
İşte basit bir bot örneği:
$url = "http://example.com/product-page";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
// Örnek fiyat bilgisi çekme
preg_match('/(.*?)<\/span>/', $response, $matches);
$price = floatval($matches[1]);
if($price < 100) {
// Gmail SMTP ayarı ve e-posta gönderme
mail("youremail@example.com", "Fiyat Düşüşü", "Ürün fiyatı düştü: $price");
}
Bu kod, belirli bir URL'den sayfa içeriğini çeker, fiyatı ayıklar ve fiyat belirli bir eşikten düşükse size bir e-posta gönderir.
Güvenlik ve Etik Konular
Web sitelerinden veri çekerken, web sitesinin kullanım şartlarını ihlal etmediğinizden emin olun. Botlarınızın etik ve yasal sınırlar içinde çalışmasını sağlamak önemlidir.
Unutmayın: Herhangi bir bot veya cURL işlemi sırasında trafik ve veri kullanımı nedeniyle kaynakları kötüye kullanmaktan kaçınmalısınız.
Sonuç
PHP cURL, web ile etkileşime geçmek için inanılmaz derecede faydalı bir araçtır. İster bir web sayfasından veri çekiyor olun, ister API'lerle etkileşim kuruyor olun, cURL kullanımını öğrenmek, PHP geliştirme yolunda büyük bir adımdır.