Dunaevlad
@Dunaevlad

Как сервер различает, запросы сделанные с помощью Python, от запросов сделанные Браузером?

Интересует, как сильно отличается запрос сделанный с помощью Python(requests или httpx) от запроса идущего с любого другого браузера? Есть ли различия?
По идее, это набор одних и тех же битов.
Как сервер понимает, что у клиента, который шлет запрос, нет JS обработчика.

Заранее, всем спасибо за ответ.
  • Вопрос задан
  • 91 просмотр
Решения вопроса 2
можно еще проверять, запросил ли потом ещё какой-то URL, по инициативе JS.

Закрыл ли соединение, или это HTTP/2.
Ответ написан
Комментировать
@Vindicar
1. Просто, но эффективно - заголовки запроса, в т.ч.
  • User-Agent
  • Cookie
  • Referer

Также легко подделывается.
2. Использование штук типа prefetch и тому подобных. Если клиент запросил страницу, но не запросил сразу же стили/скрипты на ней - возможно, это бот. Просто, но рискованно (можно забанить обычных людей) и затратно (нужно анализировать отдачу статики).
3. Исполнение JS-кода - например, предлагает клиенту выполнить фоновый AJAX-запрос, который поставит специальную куку. Минус - работает только со второго запроса. Обходится безголовым браузером типа selenium.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
очевидно, по заголовкам
Ответ написан
Ваш ответ на вопрос

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

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