• 10-06-2010, 17:00:33
    #1
    file_get_contents ile youtube baglanıp veri alıyorum, normalde bir sorun yok ama anlık online coğalınca veri almıyor.

    ilk başlarda kullandığım kodlarda bir sorun olabileceğini düşündüm curl ile denedim hiç bir değişiklik olmadı.

    acaba php inide file_get_contents için bi sınırlamamı var. başka aklıma gelen bi cozum yok. php.ini yede baktım bişi goremedim

    sorun neden kaynaklı olabilir ?

    kullanıdğım kod;
    $html=@file_get_contents('http://gdata.youtube.com/feeds/mobile/videos/'.$vid.'');
    preg_match_all('#<title type=\'text\'>(.+?)</title>#smi',$html,$title);
    $title=$title[1][0];
    preg_match_all('#<media:keywords>(.+?)</media:keywords>#smi',$html,$etiket);
    $etiket2=$etiket[1][0];
    $etiket=etiket($etiket2);
    preg_match_all('#<media:description type=\'plain\'>(.+?)</media:description>#smi',$html,$aciklama);
    $aciklama=strip_tags($aciklama[1][0]);
  • 10-06-2010, 17:15:43
    #2
    curl kullanmanız lazım, aşağıdaki gibi sunucudaki tüm ipleri yazarak random onların kullanılmasını sağlamanız lazım.

    örnek
            $ch = curl_init();
            $timeout = 10;
    		$ip = array("123.255.120.44", "123.255.120.45", "123.255.120.46", "123.255.120.47", "123.255.120.48", "123.255.120.49", "123.255.120.51", "123.255.120.52"); //buraya sunucunuzdaki tüm ipleri ekleyin
    		$ips = $ip[rand(0,7)]; //random birini seçtiriyoruz
            curl_setopt($ch,CURLOPT_URL,$url);
    		curl_setopt($ch,CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
    		curl_setopt($ch,CURLOPT_INTERFACE, $ips); //burda da random seçilen ipi kullanarak veriyi çekiyoruz
            curl_setopt($ch,CURLOPT_HEADER,1);
  • 10-06-2010, 17:25:24
    #3
    çok teşekkurler allah razı olsun.

    bu şekilde kullandım şu anda sorun yok
    function curlspider($feed){
    $ch = curl_init();
    $timeout = 10;
    $ip = array("109.169.18.2", "109.169.18.7", "109.169.18.8", "109.169.18.9", "109.169.18.10", "109.169.18.11", "109.169.18.12", "109.169.18.13"); //buraya sunucunuzdaki tüm ipleri ekleyin
    $ips = $ip[rand(0,7)];
    curl_setopt ($ch, CURLOPT_URL, $feed);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    curl_setopt($ch,CURLOPT_INTERFACE, $ips); 
    $xml = curl_exec($ch);
    curl_close($ch);
    return $xml;
    }
  • 10-06-2010, 20:14:24
    #4
    kullanımı nasıl peki bunun??