Имитация браузера через curl

129
01 октября 2019, 00:30

Дайте подсказку. Делаю парсер. Для парсинга мне необходимо авторизоваться на сайте. Но сайт палит, что отправка логина и пароля не с браузера. Вот как выглядит curl :

    $this->ch = curl_init();
    curl_setopt($this->ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36");
    curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($this->ch, CURLOPT_COOKIEFILE, 'user_cookie_file.txt');
    curl_setopt($this->ch, CURLOPT_COOKIEJAR, 'user_cookie_file.txt');
    curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($this->ch, CURLOPT_URL, PAGEAUTHORIZATION);
    curl_setopt($this->ch, CURLOPT_POST, 1);
    curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->postData);
    curl_setopt($this->ch, CURLOPT_REFERER, PAGEAUTHORIZATION);
    $error = curl_exec($this->ch);  

Параметры в пост запросе отправляю все что нужно. Авторизация иногда проходит, пример 1 раз из 20 попыток. В остальных случаях в отчет получаю страницу сайта с предупреждением о подозрительной активности. Прошу дать совет.

Answer 1

Попробуй посмотреть заголовки, которые ты отправляешь когда авторизовываешься, используя браузер, а затем эти заголовки подставить в свой запрос через curl

curl_setopt ($ch, CURLOPT_HTTPHEADER, $headers);

Тут от конкретного сайта зависит, кто что придумывает, чтобы обезопасить себя и данные

READ ALSO
Отладка с помощью gdbserver

Отладка с помощью gdbserver

Иногда возникает необходимость удаленной отладки и сдесь не обойтись без gdbserver, но есть одна проблема: исходникиЧтобы gdb видел исходники,...

105
Манифест в проект С++(VIsual Studio)

Манифест в проект С++(VIsual Studio)

Как добавить файл манифеста в проект, но при этом так, чтобы в директории, где находится exe не обязательно должен быть exemanifest

100
Поясните фрагмент кода #pragma comment

Поясните фрагмент кода #pragma comment

в VS2008 создал из шаблона MFC проектВсе работает

95