CURL PHP: Ожидание перед редиректом

93
05 января 2021, 12:30

Пробую загрузить страницу сайта средствами CURL. В браузере сначала попадаю на страницу, где меня предупреждают о проверке браузера и таймер на пять секунд, затем попадаю на основную страницу сайта.

    $url = 'https://hidemyna.me/en/proxy-list/?type=s&anon=4#list';
    $headers = [
        'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
        'Accept-Language: ru,en;q=0.9,en-US;q=0.8,pt;q=0.7',
        'Cache-Control: max-age=0',
        'authority: hidemyna.me',
        'method: GET',
        'referer: https://hidemyna.me/en/proxy-list/?type=s&anon=4',
        'path: /en/proxy-list/?type=s&anon=4',
        'scheme: https',
        'Upgrade-Insecure-Requests: 1',
        'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
    ];
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_COOKIEJAR, __DIR__ . '/cookie.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE, __DIR__ . '/cookie.txt');
    $response = curl_exec($ch);
    curl_close($ch);

Но в $response получаю только начальную страницу с предупреждением о редиректе через пять секунд. Как мне получить основную страницу сайта?

Answer 1

CURLOPT_FOLLOWLOCATION пойдёт по редиректу представленному в заголовке Location после 301 или 302 кода HTTP ответа. Никаких таймаутов при этом не предусмотрено стандартом.

Следовательно тот редирект что наблюдаете вы реализован каким-то другим способом. И curl не может и не должен даже пытаться его обрабатывать.

READ ALSO
Get_stylesheet_directory_uri или get_stylesheet_directory?

Get_stylesheet_directory_uri или get_stylesheet_directory?

Допустим в файле functionsphp нужно добавить свой js-скрипт с помощью wp_add_inline_script, который находится в другой папке

117
Неправильно выводит html

Неправильно выводит html

Всем привет, есть маленькая проблема - вывожу текст с бд MySql методом echo или print - результат: весь текст одинаковый, хотя видно в html что он должен...

100
Не срабатывает условие если нет строки в таблице

Не срабатывает условие если нет строки в таблице

Подскажите пожалуйста, есть запрос в mysql phpСтроки такой нет в таблице и условие не срабатывает

100
Как в WP очистить медиабиблиотеку?

Как в WP очистить медиабиблиотеку?

Мне надо полностью удалить все изображения из медиабиблиотекиФизически с сервера я их уже снес

122