Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Не работает парсер (httpversionnotsupported)

Тема в разделе "Свободное общение", создана пользователем shadow6630, 21 июн 2021.

21.06.21 в 11:28
21.06.21 в 11:28
0
199
0
  1. TopicStarter Overlay
    shadow6630

    shadow6630 Зелёный

    Регистрация:
    29 окт 2018
    Сообщения:
    1
    Лучших ответов:
    0
    Рейтинги:
    +0 / 0 / -0
    Есть сайт www.soundclick.com, с него нужно ретранслировать две ссылки:
    - первая на прослушивание трека (битрейт ниже)
    - вторая на скачивание, соответственно качество получше

    Что бы рестранслировать первую ссылку достаточно прописывать куки с главной страницы soundclick.com
    А вот чтобы получить ссылку на скачивание, куки нужно писать с страницы https://www.soundclick.com/utils_download/download_song.cfm?ID=14061226 , а потом уже по ссылке https://www.soundclick.com/utils_download/download_songDeliver.cfm?songID=14061226&ppID=0&selectLevel=320 получать сам трек

    Для этого написан парсер:
    PHP:
    <!--?php

    $id 
    '14061226';

    $track_name = isset($_GET['name']) ? $_GET['name'] : 'test';

    $type = isset($_GET['type']) ? $_GET['type'] : null;

    if (
    $type == 'play') {

       
    $file getCurl('https://www.soundclick.com/playerV5/panels/audioStream.cfm?songID='$id);

       
    file_download($file$track_name);

    } else if (
    $type == 'donwload') {

    $link 'https://www.soundclick.com/utils_download/download_song.cfm?ID='$id;

    $link_download 'https://www.soundclick.com/utils_download/download_songDeliver.cfm?songID='$id'&ppID=0&selectLevel=320';

    getCurl($link);

    file_downloadgetCurl($link_download) , $track_name);

    }

    function 
    getCurl($url) {

       
    $ch curl_init($url);

       
    curl_setopt($chCURLOPT_COOKIEFILE__DIR__ '/cookie.txt');

       
    curl_setopt($chCURLOPT_COOKIEJAR__DIR__ '/cookie.txt');

       
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);

       
    curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);

       
    $header_size curl_getinfo($chCURLINFO_EFFECTIVE_URL);

       
    $html curl_exec($ch);

       
    curl_close($ch);

       return 
    $html;

    }

    function 
    file_download($file$track_name) {

    header('Content-Type: audio/mpeg');

    header("Accept-Ranges: bytes");

    header("Content-Length: "mb_strlen($file'8bit') );

    header("Cache-Control: max-age=0");

    header("Range: bytes=0-58367");

    header('Content-Disposition: attachment; filename="'$track_name'.mp3"');

    echo 
    $file;

    }

    ?-->
    Проблема заключается в том что ссылка на прослушивание (/test.php?type=play) ретранслируется норм, а вот ссылка на скачивание (/test.php?type=dowload) отдает пустой файл с содержимым:
    HTML:
    <?xml version="1.0" encoding="UTF-8"?><Error><Code>HttpVersionNotSupported</Code><Message>The HTTP version specified is not supported.</Message><RequestId>4B988A15EDC9D2FE</RequestId><HostId>MWexueSVjDOfOaVdYRGG5qGcBBiNxRrH0Z1k3B+/d1L7IMeKXHVcXjNb7BgJ0TzvyJYXNDqKjCTjNuTT1f3as74e3O7w8uHJ</HostId></Error>
    Просьба помочь в решении проблемы дельным советом.
    Забыл уточнить что на локалхосте все работает и все дело в версии Curl (не работает на свежих версиях). Не особо хочу менять ОС на сервере на более старую из-за этого.
     
Похожие темы
  1. Orbik
    Ответов:
    14
    Просмотров:
    1.354
  2. Str0ng
    Ответов:
    52
    Просмотров:
    4.518
  3. Sky91
    Ответов:
    0
    Просмотров:
    1.275
  4. BlackSun
    Ответов:
    0
    Просмотров:
    1.994
  5. kot901
    Ответов:
    2
    Просмотров:
    1.018
Загрузка...
Яндекс.Метрика