• 30-08-2015, 10:40:27
    #1
    Merhaba arkadaşlar benim bir sorunum var.

    Php sayfasından JSON ayrıştırma yapıyorum. Bu sayfada testini yapıyorum http://codepad.viper-7.com/pcnqsq ve gelen sonuç çalışıyor. Ancak bu php sayfasını gerçek ortamda kendi çalıştırdığımda gelen sonuç farklı oluyor ve linkler çalışmıyor. Resimdeki gibi https://i.hizliresim.com/N4LNPg.jpg

    Sizce bu değişiklik neden oluyor?
  • 30-08-2015, 11:17:37
    #2
    Odn den link cekmeye calisiyorsunuz sanirim orasi istek gelen ip ye gore ciktiyi degistiriyor yani sorun cikmaz bu sekilde kullanin derim
    edit:
    <?php
    function curl_cek($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_NOBODY, FALSE); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_REFERER, $url);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0');
    curl_setopt($ch, CURLOPT_ENCODING, "");
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
    $rmx = curl_exec($ch);
    curl_close($ch);
    return $rmx;
    }
    $bir=curl_cek('http://ok.ru/dk?cmd=videoPlayerMetadata&mid=34652883501');
    $obj = json_decode($bir,true);
    //print_r($obj);
    for($i=0;$i<count($obj['videos']);$i++){
    if($obj['videos'][$i]['name']!='mobile' && $obj['videos'][$i]['name']!='lowest'){
    echo $obj['videos'][$i]['url'].'<br>';
    }
    }
    Bu şekilde sorunsuz kullanılıyor. Kendine göre düzenleyebilirsin.
  • 30-08-2015, 22:11:42
    #3
    Dosya header icinde JSON type kullanmayi deneyin derim.
  • 30-08-2015, 22:52:53
    #4
    Cevaplar için teşekkür ederim. Test edip sonucu sizinle paylaşacağım.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 22:52:53 -->-> Daha önceki mesaj 22:43:54 --

    ufukt51 yazdığın kodları çalıştırdım ama sonuç değişmedi. https://i.hizliresim.com/OZrGbA.jpg https://i.hizliresim.com/vLaOGr.jpg
  • 31-08-2015, 08:27:04
    #5
    Tam olarak sorun nedir. Daha oncede dedigim gibi okru gelen istek ip ye gore hash degistigi icin sonucun localdekiyle farkli cikmadi normaldir.
  • 31-08-2015, 10:24:26
    #6
    ufukt51 adlı üyeden alıntı: mesajı görüntüle
    Tam olarak sorun nedir. Daha oncede dedigim gibi okru gelen istek ip ye gore hash degistigi icin sonucun localdekiyle farkli cikmadi normaldir.

    methodu web sayfası çalıştırdığımda bana çalışmayan bir link veriyor. Verdiği linkte "%3B217.20.145.46" fazladan geliyor ve çalışmıyor. Resimde olduğu gibi https://i.hizliresim.com/vLaOGr.jpg Benim anlamadığım codepad ile düzgün çıkan linkler php sayfasını siteme attığımda sonuç neden bozuk geliyor.
  • 01-09-2015, 09:32:38
    #7
    Konu hakkında bilgisi olan var mı?
  • 01-09-2015, 20:09:00
    #8
    ufukt51 adlı üyeden alıntı: mesajı görüntüle
    Odn den link cekmeye calisiyorsunuz sanirim orasi istek gelen ip ye gore ciktiyi degistiriyor yani sorun cikmaz bu sekilde kullanin derim
    edit:
    <?php
    function curl_cek($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_NOBODY, FALSE); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_REFERER, $url);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0');
    curl_setopt($ch, CURLOPT_ENCODING, "");
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
    $rmx = curl_exec($ch);
    curl_close($ch);
    return $rmx;
    }
    $bir=curl_cek('http://ok.ru/dk?cmd=videoPlayerMetadata&mid=34652883501');
    $obj = json_decode($bir,true);
    //print_r($obj);
    for($i=0;$i<count($obj['videos']);$i++){
    if($obj['videos'][$i]['name']!='mobile' && $obj['videos'][$i]['name']!='lowest'){
    echo $obj['videos'][$i]['url'].'<br>';
    }
    }
    Bu şekilde sorunsuz kullanılıyor. Kendine göre düzenleyebilirsin.
    ufukt51 verdiğin kodları aşağıdakiler ile güncelledim, şimdi sorun çözüldü. Teşekkür ederim.

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36');
  • 18-10-2015, 01:01:20
    #9
    ufukt51 adlı üyeden alıntı: mesajı görüntüle
    Odn den link cekmeye calisiyorsunuz sanirim orasi istek gelen ip ye gore ciktiyi degistiriyor yani sorun cikmaz bu sekilde kullanin derim
    edit:
    <?php
    function curl_cek($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_NOBODY, FALSE); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_REFERER, $url);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0');
    curl_setopt($ch, CURLOPT_ENCODING, "");
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
    $rmx = curl_exec($ch);
    curl_close($ch);
    return $rmx;
    }
    $bir=curl_cek('http://ok.ru/dk?cmd=videoPlayerMetadata&mid=34652883501');
    $obj = json_decode($bir,true);
    //print_r($obj);
    for($i=0;$i<count($obj['videos']);$i++){
    if($obj['videos'][$i]['name']!='mobile' && $obj['videos'][$i]['name']!='lowest'){
    echo $obj['videos'][$i]['url'].'<br>';
    }
    }
    Bu şekilde sorunsuz kullanılıyor. Kendine göre düzenleyebilirsin.
    Hocam merhabalar, öncelikle çok teşekkürler. Verdiğiniz kod çok işime yaradı. Fakat takıldığım bir nokta var bir türlü yapamadım..

    foreach($obj['videos'] as $videos){
        $filename = $videos['name'];
        $url = $videos['url'];
        $type = 'mp4';
    
        $return[] = array(
            'file' => $url,
            'type' => $type,
            'name' => $filename,
        );
    }
    bu kodu ekleyerek çıktıyı şu şekilde yapmaya çalışıyorum..

    {"file":"http://ok.ru/gelen-adres&type:3", "type":"mp4","name":720p"},
    {"file":"http://ok.ru/gelen-adres&type:2", "type":"mp4","name":480p"},
    {"file":"http://ok.ru/gelen-adres&type:1", "type":"mp4","name":360p"},
    {"file":"http://ok.ru/gelen-adres&type:0", "type":"mp4","name":240p"},
    {"file":"http://ok.ru/gelen-adres&type:4", "type":"mp4","name":144p"},
    fakat beceremedim bir türlü. Yardımlarınızı bekliyorum hocam, teşekkürler.