Здравствуйте!
Не могу найти решения по получению реальной ссылки на файл из редиректной, т.е. например, есть ссылки вида:
avg.com/ru-ru/thank-you?product=avf&build=avf-free
foxmail.com/win/download
Это непрямые ссылки на файлы, но при их открытии браузер начинает загружать реальные exe-файлы.
Понятно, что какой-нибудь менеджер закачки получит реальные ссылки, но хотелось бы сделать функцию на php, которая будет их получать...
Возможно ли такое реализовать?
Пробовал с CURL опыты проводить, ничего не вышло, может параметры недонастроил...
Пробовал get_headers - получает заголовок, но там нет прямых ссылок...
Для пробы посмотрел плагином http Spy заголовки по адресу:
foxmail.com/win/download
Там есть ссылка: dldir1.qq.com/foxmail/windows/fm 727chb26_build_setup.exe
Может есть какое-то простое и изящное решение, чтобы получать реальную ссылку через php?
1. 563434 - 28 Февраля, 2016 - 12:39:40 - перейти к сообщению
2. andrewkard - 29 Февраля, 2016 - 01:08:59 - перейти к сообщению
563434 пишет:
но хотелось бы сделать функцию на php, которая будет их получать
сделать то же, что будет делать браузер, т.е. отсылать такой же запрос, если это возможно...
3. 563434 - 29 Февраля, 2016 - 12:12:53 - перейти к сообщению
[quote=andrewkard][/quote]
На словах все просто...хотел найти примеры кода...
andrewkard пишет:
сделать то же, что будет делать браузер, т.е. отсылать такой же запрос, если это возможно...
На словах все просто...хотел найти примеры кода...
4. andrewkard - 29 Февраля, 2016 - 12:19:09 - перейти к сообщению
563434 пишет:
хотел найти примеры кода
http://php.net/manual/ru/book.curl.php
Открываем вкладку Сеть(Network) в консоли и смотрим, изучаем.
5. 563434 - 29 Февраля, 2016 - 12:58:10 - перейти к сообщению
Вот консоль что показывает:
Resource interpreted as Document but transferred with MIME type application/octet-stream: "http://dldir1.qq.com/foxmail/windows/fm727chb26_build_setup.exe".
Не понимаю...а CURL выдает заголовок:
Array ( [url] => http://foxmail[dot]com/win/download [content_type] => text/html [http_code] => 206 [header_size] => 312 [request_size] => 198 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 3.515582 [namelookup_time] => 0.064379 [connect_time] => 0.286681 [pretransfer_time] => 0.286754 [size_upload] => 0 [size_download] => 236 [speed_download] => 67 [speed_upload] => 0 [download_content_length] => 236 [upload_content_length] => 0 [starttransfer_time] => 3.515511 [redirect_time] => 0 [request_header] => GET /win/download HTTP/1.1 Range: bytes=1-300 User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36 Host: foxmail.com Accept: */* )
Вот код:
Resource interpreted as Document but transferred with MIME type application/octet-stream: "http://dldir1.qq.com/foxmail/windows/fm727chb26_build_setup.exe".
Не понимаю...а CURL выдает заголовок:
Array ( [url] => http://foxmail[dot]com/win/download [content_type] => text/html [http_code] => 206 [header_size] => 312 [request_size] => 198 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 3.515582 [namelookup_time] => 0.064379 [connect_time] => 0.286681 [pretransfer_time] => 0.286754 [size_upload] => 0 [size_download] => 236 [speed_download] => 67 [speed_upload] => 0 [download_content_length] => 236 [upload_content_length] => 0 [starttransfer_time] => 3.515511 [redirect_time] => 0 [request_header] => GET /win/download HTTP/1.1 Range: bytes=1-300 User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36 Host: foxmail.com Accept: */* )
Вот код:
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- $url = 'http://foxmail.com/win/download';
- //curl_setopt ($ch, CURLOPT_REFERER, $url);
- // не проверять SSL сертификат
- //curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
- // не проверять Host SSL сертификата
- //curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
- // это необходимо, чтобы cURL не высылал заголовок на ожидание
- curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36');
- print BR;
- //$content = htmlspecialchars($content);
- //print_r($content);
Там много лишнего в коде, пробовал уже много...