@Dzonke

Как спарсить закрытую страницу на PHP?

Всем привет, появилась задача спарсить закрытую страницу ( доступна только после авторизации ). Использую curl + сохраняю куки при этом результат кода всегда один и тот же независимо от логина / пароля:
bool(true)
Буду весьма признателен если укажите мне на мои ошибки.

<?php header('Content-type: text/html; charset=utf-8');

function get_content($url, $data=[]) 

{

    $ch = curl_init($url); 

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

    // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($ch, CURLOPT_POST, true);

    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

    curl_setopt($ch, CURLOPT_COOKIEJAR, __DIR__ .'/cookie.txt');

    curl_setopt($ch, CURLOPT_COOKIEFILE, __DIR__ .'/cookie.txt');

    $res = curl_exec($ch);

    curl_close($ch);

    return $res;

}

$url_auth = "https://www.flightclub.com/customer/account/login?redirectTo=MyAccount";

$url = "https://www.flightclub.com/my-account";

$auth_data = [

    'email' => "email",

    'password' => 'password',

];

$data = get_content($url_auth, $auth_data);

var_dump($data);

$data = get_content($url);

var_dump($data);

?>
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
@rPman
Если сайт защищается от подобного, то необходимо более точно сымитировать поведение веб клиента, а именно все заголовки и возможно даже последовательность запросов перед нужным. Не исключено что даже тайминги так же учитываются (а еще я бы с хоста, с которого хоть иногда прилетают нетипичные запросы с юзерагентом curl маркировал бы как опасные и в песочницу бы отправлял с нетипичным поведением, чтобы еще сильнее запутать реверсинежнеринг)

подробности смотри во вкладке network правая кнопка на запросе - копировать curl bash, там будет очень удобно и понятно все разложено по полочкам с примером
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы