• 06-11-2014, 12:48:02
    #1
    Arkadaşlar Şu siteye Curl ve file_get_contents yöntemiyle bağlanıyorum ve geri dönen sonuç bu şekilde;

    ����v۸�.���)�ё�eRwّs�Z�T唝�U;;G$!�1E�x��\��q~t�@�ѯя������HY�d����U�DN��y&�����~|�盧
    sizce nasıl bir korumadır bunu nasıl aşabilirim ?
  • 06-11-2014, 13:10:09
    #2
    Sorun gzipden kaynaklıyor sanırım header değişik dönüyor arada bir.
    Neyse ben şu şekilde atlattım olayı.

    $c = file_get_contents("http://www.agame.com");
    $site = @gzdecode($c);
    if ($site) {
    	$data=$site;
    } else {
    	$data =$c;
    }
    echo $data;
    Ben denedim çalışıyor. Sende kontrol et bir.
  • 06-11-2014, 13:12:18
    #3
    Curl'ye aşağıdaki parametreleri ekleyin site sesion bilgilerini tutuyor
    curl_setopt( $curl_handle, CURLOPT_COOKIESESSION, true );
    curl_setopt( $curl_handle, CURLOPT_COOKIEJAR, 'cookie.txt');
    curl_setopt( $curl_handle, CURLOPT_COOKIEFILE,  'cookie.txt' );
  • 06-11-2014, 13:17:46
    #4
    ilginiz için çok teşekkür ederim.. sayenizde gzdecode() ve curl session atma yöntemini öğrenmiş oldum..

    fakat gzdecode PHP 5.4.0 da çalıştığı için benim serverda kullanamadım.. curl bağlantı kodlarıma aşağıdaki kodu aynen ekledim yani;

    function baglan($url) 
        { 
            $curl = curl_init();
            curl_setopt($curl, CURLOPT_URL, $url);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    		curl_setopt( $curl, CURLOPT_COOKIESESSION, true ); 
    		curl_setopt( $curl, CURLOPT_COOKIEJAR, 'cookie.txt'); 
    		curl_setopt( $curl, CURLOPT_COOKIEFILE,  'cookie.txt' );  
            curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
            $cikti = curl_exec($curl);
            curl_close($curl);
            return str_replace(array("\n","\t","\r"), null, $cikti);
        }
    gene aynı.. sonuç vermedi..

    Eygun adlı üyeden alıntı: mesajı görüntüle
    Sorun gzipden kaynaklıyor sanırım header değişik dönüyor arada bir.
    Neyse ben şu şekilde atlattım olayı.

    $c = file_get_contents("http://www.agame.com");
    $site = @gzdecode($c);
    if ($site) {
    	$data=$site;
    } else {
    	$data =$c;
    }
    echo $data;
    Ben denedim çalışıyor. Sende kontrol et bir.

    By_MiLaT adlı üyeden alıntı: mesajı görüntüle
    Curl'ye aşağıdaki parametreleri ekleyin site sesion bilgilerini tutuyor
    curl_setopt( $curl_handle, CURLOPT_COOKIESESSION, true );
    curl_setopt( $curl_handle, CURLOPT_COOKIEJAR, 'cookie.txt');
    curl_setopt( $curl_handle, CURLOPT_COOKIEFILE,  'cookie.txt' );
  • 06-11-2014, 13:28:55
    #5
    Sorun session ile değil tahminim, Bende denedim giremedim session ile. gzip dönüyor.
    Neyse baştan anlatalım nasıl buldugumuzu.

    İlk önce normal olarak file_get_contents ve curl ile giriş yapmaya çalıştım. sürekli sayfayı yeniledim bazen normal bazende anormal çıkıyordu.

    Sorunu daha iyi incelemek için headerlarına bakarak yeniledim

    Normal çıkan sayfa
    Alıntı
    HTTP/1.1 200 OK Access-Control-Allow-Origin: * Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0 Content-Type: text/html; charset=UTF-8 Date: Thu, 06 Nov 2014 11:01:34 GMT Server: nginx Vary: Accept-Encoding Vary: Accept-Encoding Vary: Accept-Encoding Vary: User-Agent X-Id: 036 X-TT: 1 X-UA-Compatible: IE=Edge,chrome=1 Content-Length: 137519
    Anormal çıkan sayfa
    Alıntı
    HTTP/1.1 200 OK Content-Encoding: gzip Access-Control-Allow-Origin: * Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0, max-age=0 Content-Type: text/html; charset=UTF-8 Date: Thu, 06 Nov 2014 11:01:46 GMT Server: nginx Vary: Accept-Encoding Vary: User-Agent X-Id: cab2529 X-TT: 1 X-UA-Compatible: IE=Edge,chrome=1 Content-Length: 22546 
    Bakdım ki encoding gzip ile geliyor. Daha sonra gzdecode foksiyonunu kullandım bir if bir else ve iş tamam.

    +Bonus
    Arkadaşın vermiş oldugu curl çalışmaz,
    Curl ile istersen, curl parametrene şu aşağıdaki kodu yerleştir.

    Alıntı
    curl_setopt($ch,CURLOPT_ENCODING, '');
    Kolay gelsin

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:28:55 -->-> Daha önceki mesaj 13:25:20 --

    +Plus curl ile sade hali ,

    Alıntı
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://www.agame.com/");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch,CURLOPT_ENCODING, '');
    $site = curl_exec($ch);
    print_r($site);
  • 06-11-2014, 13:30:41
    #6
    dostum bunu eklememle beraber curl dan bağlanabildim..

    ilgin için çok teşekkür ederim.. sağol..

    Eygun adlı üyeden alıntı: mesajı görüntüle

    +Bonus
    Arkadaşın vermiş oldugu curl çalışmaz,
    Curl ile istersen, curl parametrene şu aşağıdaki kodu yerleştir.

    curl_setopt($ch,CURLOPT_ENCODING, '');
    Kolay gelsin