HTTPS / Cloudflare: Cloudflare через сокет C приводит к HTTP 403

Я написал примитивную оболочку HTTP (S) для сокетов на C. TLS, данные заголовка и публикации уже обернуты в нее.

Я уже успешно получил данные с разных сайтов через эту библиотеку, но как только я наткнулся на веб-сайт за CloudFlare, я не могу получить к нему доступ и получить 403 от CloudFlare. Я также повозился с cfuid_cookie и другими значениями заголовка.

Должен ли я устанавливать определенные параметры заголовка, чтобы работать с прокси CloudFlare и получать доступ к фактическому веб-контенту? У меня действительно нет идей, как получить доступ к данным за прокси CloudFlare.

Вы подключаетесь через VPN или сетевой прокси? Каково фактическое содержание ответа 403? Вам случайно предлагается ввести капчу? Есть ли в ответе какой-либо CloudFlare Javascript, который необходимо выполнить, прежде чем запрос будет успешным? По теме: Как использовать рекапчу на стороннем сайте в моем клиентском приложении (в частности, этот ответ, хотя это для C#).

Remy Lebeau 26.10.2018 23:47

Ни прокси, ни VPN. Я использую очень примитивные сокеты, которые поставляются с "sys / socket.h". Это прямой ввод-вывод через файловые дескрипторы. Я только что поговорил с одним из разработчиков CloudFlare, и он немного рассказал мне о CloudFlare. Думаю, мне придется написать обходную библиотеку для доступа ко всему, что мне нужно, если другого пути нет. В основном я должен имитировать поведение браузера. Не буду лгать CloudFlare - это одновременно и благословение, и проклятие.

mad_a_i 26.10.2018 23:54

«В основном мне нужно имитировать поведение браузера» - ну да. Вся суть CloudFlare в том, чтобы блокировать автоматизированное программное обеспечение и пропускать через него только людей. Вы не создаете браузер, управляемый человеком, вы создаете свое собственное программное обеспечение, поэтому CloudFlare блокирует вас, поэтому вам придется имитировать браузер, управляемый человеком, чтобы пройти.

Remy Lebeau 27.10.2018 01:01

Единственное, что меня интересует, это завиток. Curl - это инструмент командной строки, который работает абсолютно нормально.

mad_a_i 28.10.2018 10:05

затем не стесняйтесь фиксировать и регистрировать HTTP-запросы, которые отправляет curl, и сравнивать их с запросами, которые отправляет ваш клиент, а затем соответствующим образом настраивать своего клиента.

Remy Lebeau 28.10.2018 18:52
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
82
0

Другие вопросы по теме