Ceu adlı üyeden alıntı: mesajı görüntüle
<?php 
    function curl($url){ 
        $ch = curl_init(); 
        $timeout = "5"; 
        curl_setopt($ch,CURLOPT_URL,$url); 
        curl_setopt($ch,CURLOPT_HEADER,false); 
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false); 
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 
        curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); 
        curl_setopt($ch,CURLOPT_FOLLOWLOCATION, true); 
        curl_setopt($ch,CURLOPT_REFERER,"http://www.google.com.tr"); 
        curl_setopt($ch,CURLOPT_USERAGENT,$_SERVER["HTTP_USERAGENT"]); 
        $data = curl_exec($ch); 
        curl_close($ch); 
        return $data; 
    } 
echo curl("http://www.webmaster.tc/index.php"); 
?>
Şimdi buradaki kodları açıklamamız gerekirse ;

CURLOPT_SSL_VERIFYPEER => SSL sertifikamızın olmadığını söylüyoruz, Bu sayede https:// sayfalarla iletişime geçebiliyoruz.

CURLOPT_RETURNTRANSFER => Eğer bu değeri 1 yapmaz iseniz, Bir fonksiyon da echo kullanmış gibi sonucu değişkene atayamazsınız. Yani direk ekrana basılır (siz echo demeseniz bile) onun için bunu 1 veya true yapmanız gerekir.

CURLOPT_CONNECTTIMEOUT => Burada da siteden kaç sn tepki bekleyeceğini yazıyoruz, Yani $timeout değişkeni 5 e eşit olduğun için eğer 5 sn de site tepki vermez ise işlemi sonlandıracak.

CURLOPT_FOLLOWLOCATION => En önemli özelliklerden biri de bu, Bu özellik sayesinde yönlendirmeleri otomatik takip edebilirsiniz. Yani a.com sayfasına girdiğiniz de, sizi a.com/a.php sayfasına yönlendiriyorsa curl bunu takip etmez. Ama CURLOPT_FOLLOWLOCATION özelliği sayesinde, Otomatik olarak yönlendirmeyi takip ettirip o sayfanın kaynağını size verecektir.

Dikkat ! Bu özellik için sunucunuz da ayar gerekebilir, Onun için eğer ihtiyacınız yok ise ve Sunucunuz da followlocation ile İlgili bir hata çıktı ise O satırı silebilirsiniz. Eğer gerekli ise ve Hata veriyor ise open_base açmanız gerekmektedir (Hatayı hostcunuza verirseniz o çözer).

CURLOPT_REFERER => Kişinin sitesine hangi siteden geldiğimizi söylüyoruz, Yani siz de sayaçlarınızı incelerken görürsünüz şu adresden gelmiş şeklinde, Burada da geldiğimiz adresi gösteriyoruz.

CURLOPT_USERAGENT => Burada da kişinin sitesine girerken, Kullandığımız tarayıcı hakkında bilgi veriyoruz. HTTP_USERAGENT kullandığım için bu php sayfasını kim görüntüler ise Onun tarayıcı bilgileri yansıyacaktır. Buda, Her seferinde aynı bilginin gitmesini engelleyecektir.

file_get_contents, Curl dan daha fazla sunucuyu yorduğu için ve Çok basit şekilde engellenebileceği için, Yukarıdaki fonksiyonu botlarınız da kullanabilirsiniz. Bu sayede, Daha hızlı / Daha güvenli şekilde performans alabilirsiniz. (Eğer genel bir kod yazacak iseniz, Mutlaka followlocation kaldırın. (İhtiyacınız yoksa) aksi taktir de her hostta çalışmayacaktır).
Hocam çok teşekkürler yalnız çalışmadı. Çekmeye çalıştığım siteden sadece ERROR verisi dönüyor bu ekrana basmam gerek.

Sunucu sahibine sordum sunucuda curl aktif miş ayrıca followlocation true ve false olarak da denedim veri dönmüyor.

--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 17:17:42 -->-> Daha önceki mesaj 16:35:42 --

Hocam şimdi birşey farkettim. Kendi sunucumda bulunan başka domaine ait dosyadan veriyi çekmiyor. Bu sorunun sebebi nedir ?
Ayrıca şöyle birşey farkettim. Mesela shiftdelete 'i çekmeye çalışıyorum herhangi bir veri gelmiyor. tamindir'i deniyorum çalışıyor