За последние 24 часа нас посетили 53926 программистов и 1673 робота. Сейчас ищут 973 программиста ...

Прямое скачивание с zippyshare без посещение сайта

Тема в разделе "Прочие вопросы по PHP", создана пользователем olegkaz, 13 июн 2014.

  1. olegkaz

    olegkaz Активный пользователь

    С нами с:
    21 фев 2013
    Сообщения:
    121
    Симпатии:
    0
    Привет Всем! Сейчас решил попрактиковаться в парсинге, но застрял с zippyshare? нашёл примерное решение но к сожалению файл не отдаётся а делается переход на страницу скачивания. Может кто сталкивался с этим, есть какие-либо идеи? Кусок кода нашёл на просторах инета.

    Код (Text):
    1.  
    2.         $site = "http://www36.zippyshare.com/v/34286834/file.html";
    3.         $parse =  parse_url($site);
    4.         $host = $parse['host'];
    5.         echo $host;
    6.         $content = file_get_contents($site);
    7.  
    8.         $content = preg_replace ( '/=\"\//is', '="http://' . $host.'/', $content );
    9.         $content = preg_replace ( '+href    \= \"/+is', 'href="http://' . $host.'/', $content );
    10.         $content = preg_replace ( '+src\=\'/+is', 'src=\'http://' . $host.'/', $content );
    11.         $content = preg_replace ( '+url: \"\/+is', 'url:"http://' . $host.'/', $content );
    12.        
    13.         echo '<div style="display:none;"'.$content.'</div>';
    14.         echo '
    15.         <a class="knopka" id="dlbutton" href="">Скачать</a>
    16.         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"  type="text/javascript"></script>
    17.         <script>
    18.         ssil = $( "div #dlbutton" ).attr(\'href\');
    19.         $(".knopka").attr("href", ssil);
    20.         </script>
    21.         ';
     
  2. olegkaz

    olegkaz Активный пользователь

    С нами с:
    21 фев 2013
    Сообщения:
    121
    Симпатии:
    0
    Сейчас смотрю вариант с Curl, но видимо что-то упускаю. Может есть у кого варианты как достучаться до zippyshare.com и скачать файл без буквального перехода на страницу
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    =) есть
     
  4. olegkaz

    olegkaz Активный пользователь

    С нами с:
    21 фев 2013
    Сообщения:
    121
    Симпатии:
    0
    Это радует) пример можно будет?
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Нед. Смотри заголовки у настоящего браузера и сравнивай со своими и поймешь что не так.
     
  6. olegkaz

    olegkaz Активный пользователь

    С нами с:
    21 фев 2013
    Сообщения:
    121
    Симпатии:
    0
    Ок, СПС за новодку буду пробывать.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Как-то он же браузеру отдаёт файл. А ты значит ему чем-то не нравишься. Куки, агент и прочее пробуй с браузера имитировать.
     
  8. olegkaz

    olegkaz Активный пользователь

    С нами с:
    21 фев 2013
    Сообщения:
    121
    Симпатии:
    0
    есть ли какой-нибудь пример по которому можно копать к победе? Просто варианты которые я сделал выслал тебе в л/с.

    Добавлено спустя 1 минуту 36 секунд:
    Уже запутался с вариантами, вот сейчас ка бы получаю куки при переходе на страницу файла :

    Код (Text):
    1.  
    2. $ch = curl_init();
    3.     $url = 'http://www36.zippyshare.com/v/34286834/file.html';
    4.        
    5.     // Если соединяемся с https
    6.     if(strtolower((substr($url,0,5))=='https')) {
    7.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    8.         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    9.     }
    10.        
    11.     // Набор опций
    12.     curl_setopt($ch, CURLOPT_URL, $url);
    13.     curl_setopt($ch, CURLOPT_REFERER, $url);
    14.     curl_setopt($ch, CURLOPT_VERBOSE, 1);
    15.     curl_setopt($ch, CURLOPT_POST, 1);
    16.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    17.     curl_setopt($ch, CURLOPT_POSTFIELDS, array());        
    18.     curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4");
    19.     curl_setopt($ch, CURLOPT_HEADER, 1);
    20.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    21.     curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
    22.     $result=curl_exec($ch);
    23.     curl_close($ch);
    далее у меня есть код который парсит ссылку на файл :
    Код (Text):
    1.  
    2. $site = "http://www36.zippyshare.com/v/34286834/file.html";
    3.     $parse =  parse_url($site);
    4.     $host = $parse['host'];
    5.     echo $host;
    6.     $content = file_get_contents($site);
    7.  
    8.     $content = preg_replace ( '/=\"\//is', '="http://' . $host.'/', $content );
    9.     $content = preg_replace ( '+href    \= \"/+is', 'href="http://' . $host.'/', $content );
    10.     $content = preg_replace ( '+src\=\'/+is', 'src=\'http://' . $host.'/', $content );
    11.     $content = preg_replace ( '+url: \"\/+is', 'url:"http://' . $host.'/', $content );
    12.            
    13.     echo '<div style="display:none;"'.$content.'</div>';
    14.     echo '
    15.     <a class="knopka" id="dlbutton" href="">Скачать</a>
    16.     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"  type="text/javascript"></script>
    17.     <script>
    18.     ssil = $( "div #dlbutton" ).attr(\'href\');
    19.     $(".knopka").attr("href", ssil);
    20.     </script>
    21.     ';
    По заголовкам я посмотрел что когда качаешь со страницы zippy то заголовки вот такие :
    Код (Text):
    1.  
    2. Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    3. Accept-Encoding:gzip,deflate,sdch
    4. Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
    5. Connection:keep-alive
    6. Cookie:ziplocale=ru; JSESSIONID=A3FD5CBEC2BD9FC6B0231B2B3FAFDD37; __atuvc=13%7C24; zippop=2; __utma=46003887.850815287.1391242124.1402727803.1402731232.18; __utmb=46003887.2.10.1402731232; __utmc=46003887; __utmz=46003887.1402731232.18.16.utmcsr=inthemix.local|utmccn=(referral)|utmcmd=referral|utmcct=/; embed-player-values-new=%7B%22front%22%3A%22000000%22%2C%22back%22%3A%22e8e8e8%22%2C%22light%22%3A%22ff6600%22%2C%22width%22%3A%22850%22%2C%22auto%22%3Afalse%2C%22vol%22%3A%2280%22%2C%22border%22%3A%22cccccc%22%2C%22dark%22%3A%22000000%22%7D
    7. Host:www66.zippyshare.com
    8. Referer:http://www66.zippyshare.com/v/565199/file.html
    9. User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36
    когда уже с моей странице то :
    Код (Text):
    1.  
    2. Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    3. Accept-Encoding:gzip,deflate,sdch
    4. Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
    5. Connection:keep-alive
    6. Cookie:ziplocale=ru; __atuvc=7%7C24; zippop=2; embed-player-values-new=%7B%22front%22%3A%22000000%22%2C%22back%22%3A%22e8e8e8%22%2C%22light%22%3A%22ff6600%22%2C%22width%22%3A%22850%22%2C%22auto%22%3Afalse%2C%22vol%22%3A%2280%22%2C%22border%22%3A%22cccccc%22%2C%22dark%22%3A%22000000%22%7D; __utma=46003887.850815287.1391242124.1402727803.1402731232.18; __utmb=46003887.1.10.1402731232; __utmc=46003887; __utmz=46003887.1402731232.18.16.utmcsr=inthemix.local|utmccn=(referral)|utmcmd=referral|utmcct=/
    7. Host:www36.zippyshare.com
    8. Referer:http://inthemix.local/download.php
    9. User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36
    различия как я вижу именно в cookie, как лучше организовать передачу cookie?
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Пример? Просто сделай точно такие же действия, как и браузер: редиректы, куки, возможно яваскрипт. Каждый борется с такими как ты как может.
     
  10. olegkaz

    olegkaz Активный пользователь

    С нами с:
    21 фев 2013
    Сообщения:
    121
    Симпатии:
    0
    Так сейчас чтобы сделать, мне надо как-то передать куку при скачке файла, куку я записал а как сделать скачку и отдать при этом все заголовки пока не нашёл.
     
  11. olegkaz

    olegkaz Активный пользователь

    С нами с:
    21 фев 2013
    Сообщения:
    121
    Симпатии:
    0
    Если у кого получилось скачать с помощью кода, отпишите.