Привет Всем! Сейчас решил попрактиковаться в парсинге, но застрял с zippyshare? нашёл примерное решение но к сожалению файл не отдаётся а делается переход на страницу скачивания. Может кто сталкивался с этим, есть какие-либо идеи? Кусок кода нашёл на просторах инета. Код (Text): $site = "http://www36.zippyshare.com/v/34286834/file.html"; $parse = parse_url($site); $host = $parse['host']; echo $host; $content = file_get_contents($site); $content = preg_replace ( '/=\"\//is', '="http://' . $host.'/', $content ); $content = preg_replace ( '+href \= \"/+is', 'href="http://' . $host.'/', $content ); $content = preg_replace ( '+src\=\'/+is', 'src=\'http://' . $host.'/', $content ); $content = preg_replace ( '+url: \"\/+is', 'url:"http://' . $host.'/', $content ); echo '<div style="display:none;"'.$content.'</div>'; echo ' <a class="knopka" id="dlbutton" href="">Скачать</a> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> <script> ssil = $( "div #dlbutton" ).attr(\'href\'); $(".knopka").attr("href", ssil); </script> ';
Сейчас смотрю вариант с Curl, но видимо что-то упускаю. Может есть у кого варианты как достучаться до zippyshare.com и скачать файл без буквального перехода на страницу
Как-то он же браузеру отдаёт файл. А ты значит ему чем-то не нравишься. Куки, агент и прочее пробуй с браузера имитировать.
есть ли какой-нибудь пример по которому можно копать к победе? Просто варианты которые я сделал выслал тебе в л/с. Добавлено спустя 1 минуту 36 секунд: Уже запутался с вариантами, вот сейчас ка бы получаю куки при переходе на страницу файла : Код (Text): $ch = curl_init(); $url = 'http://www36.zippyshare.com/v/34286834/file.html'; // Если соединяемся с https if(strtolower((substr($url,0,5))=='https')) { curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); } // Набор опций curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_REFERER, $url); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, array()); 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"); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt'); $result=curl_exec($ch); curl_close($ch); далее у меня есть код который парсит ссылку на файл : Код (Text): $site = "http://www36.zippyshare.com/v/34286834/file.html"; $parse = parse_url($site); $host = $parse['host']; echo $host; $content = file_get_contents($site); $content = preg_replace ( '/=\"\//is', '="http://' . $host.'/', $content ); $content = preg_replace ( '+href \= \"/+is', 'href="http://' . $host.'/', $content ); $content = preg_replace ( '+src\=\'/+is', 'src=\'http://' . $host.'/', $content ); $content = preg_replace ( '+url: \"\/+is', 'url:"http://' . $host.'/', $content ); echo '<div style="display:none;"'.$content.'</div>'; echo ' <a class="knopka" id="dlbutton" href="">Скачать</a> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> <script> ssil = $( "div #dlbutton" ).attr(\'href\'); $(".knopka").attr("href", ssil); </script> '; По заголовкам я посмотрел что когда качаешь со страницы zippy то заголовки вот такие : Код (Text): Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding:gzip,deflate,sdch Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 Connection:keep-alive 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 Host:www66.zippyshare.com Referer:http://www66.zippyshare.com/v/565199/file.html User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 когда уже с моей странице то : Код (Text): Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding:gzip,deflate,sdch Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 Connection:keep-alive 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=/ Host:www36.zippyshare.com Referer:http://inthemix.local/download.php 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?
Пример? Просто сделай точно такие же действия, как и браузер: редиректы, куки, возможно яваскрипт. Каждый борется с такими как ты как может.
Так сейчас чтобы сделать, мне надо как-то передать куку при скачке файла, куку я записал а как сделать скачку и отдать при этом все заголовки пока не нашёл.