Как устроена строка User Agent
Каждый браузер отправляет заголовок User-Agent при каждом запросе. Возьмем актуальную версию Chrome для Windows:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/157.0.0.0 Safari/537.36
Mozilla/5.0— исторический фрагмент, который браузеры отправляют для совместимости.(Windows NT 10.0; Win64; x64)— платформа. Windows 11 также сообщает о себе как NT 10.0.AppleWebKit/537.36 (KHTML, like Gecko)— происхождение движка; Blink в Chrome до сих пор передает WebKit 537.36.Chrome/157.0.0.0— браузер и его мажорная версия; минорные части сейчас всегда обнуляются.Safari/537.36— еще один маркер совместимости.
Edge добавляет Edg/ (EdgA/ на Android), Opera — OPR/, а Samsung Internet — SamsungBrowser/ к той же строке Chromium. На iPhone браузеры Chrome, Firefox и Edge идентифицируют себя как CriOS, FxiOS и EdgiOS поверх строки Safari. Именно поэтому парсер должен проверять их раньше, чем Chrome или Safari, а iPad в режиме рабочего стола внешне неотличим от Mac.
Замороженные и сокращенные User Agent
Чтобы снизить возможности фингерпринтинга, браузеры перестали передавать детальные сведения. Сокращенный User Agent в Chrome всегда сообщает Windows NT 10.0, Mac OS X 10_15_7 или Android 10; K и обнуляет минорную версию. Safari уже много лет отдает macOS 10.15.7, а на iPhone и iPad фиксирует замороженную версию iOS 18 вместо реальной (в генерируемых строках используется OS 18_7). Firefox возвращает Mac OS X 10.15. Сгенерированные здесь строки следуют этим правилам: User Agent с версией вроде Chrome/157.0.7012.88 или моделью устройства внутри строки Chrome на Android сегодня не отправляет ни один реальный браузер, и такие запросы легко распознаются как поддельные.
Точная версия ОС, модель устройства и полная версия браузера в Chromium доступны через User-Agent Client Hints. По HTTPS браузеры на Chromium отправляют базовые подсказки Sec-CH-UA, Sec-CH-UA-Mobile и Sec-CH-UA-Platform с каждым запросом. Выберите HTTP-заголовки + Client Hints, чтобы получить их в согласованном виде вместе с каждым User Agent и заголовком Accept-Language для выбранного языка. Детальные параметры, такие как Sec-CH-UA-Platform-Version, относятся к подсказкам с высокой энтропией: сервер должен явно запросить их заголовком Accept-CH, либо скрипт должен вызвать navigator.userAgentData.getHighEntropyValues().
Использование User Agent в коде
Выберите cURL, Python (requests) или Playwright (Node.js) в качестве формата вывода, и генератор подготовит рабочий код с вашими User Agent. Несколько рекомендаций помогут сохранить тесты реалистичными:
- Сохраняйте согласованность заголовков. User Agent от Chrome без заголовков
Sec-CH-UAили с порядком заголовков в стиле Firefox сразу вызывает подозрения. Системы защиты от ботов также сравнивают цифровой отпечаток TLS и HTTP/2 с заявленным браузером, поэтому клиент на Python со строкой Chrome все равно заметен. - Не меняйте User Agent внутри сессии. Реальный пользователь работает в одном браузере на протяжении всего посещения; смена User Agent при каждом запросе — типичный признак бота.
- Учитывайте реальные пропорции трафика. Генератор отдает приоритет Chrome на Android и Windows и Safari на iPhone, в полном соответствии с картиной реального трафика.
Подмена User Agent не делает автоматизированный сбор данных допустимым: соблюдайте условия использования сайтов и robots.txt, а также ограничивайте частоту запросов.
Как изменить User Agent в браузере
- Chrome и Edge: откройте DevTools, перейдите в Другие инструменты → Условия сети (More tools → Network conditions), снимите галочку Использовать параметры браузера и вставьте нужный User Agent. Изменения действуют, пока открыта панель разработчика.
- Firefox: откройте
about:config, создайте строковый параметрgeneral.useragent.overrideи укажите значение User Agent; для возврата к стандарту просто удалите этот параметр. - Safari: включите меню «Разработка» в Настройки → Дополнения, затем выберите Разработка → Пользовательский агент.
Проверка подлинности поисковых роботов
Строку Googlebot в заголовке может отправить кто угодно. Чтобы убедиться, что запрос действительно поступил от Google или Bing, выполните обратный поиск DNS по IP-адресу: домен должен заканчиваться на googlebot.com, google.com или (для некоторых пользовательских инструментов Google) googleusercontent.com; Bingbot резолвится в search.msn.com. Затем выполните прямой DNS-запрос, чтобы подтвердить исходный IP. Google и Microsoft также публикуют официальные диапазоны IP-адресов своих ботов в формате JSON. Никогда не добавляйте запросы в белый список исключительно по строке User Agent.
Частые вопросы
Какой у меня User Agent?
Он указан в блоке выше вместе с браузером, версией, операционной системой и типом устройства, определенными на его основе. Строка считывается прямо в браузере через navigator.userAgent и никуда не передается.
Являются ли эти User Agent реальными и актуальными?
Они сформированы по точным шаблонам современных браузеров с версиями из официальных лент релизов Google, Microsoft и Mozilla (Chrome 157, Edge 156, Firefox 159), а также Safari 27.0. Выберите 3 или 6 последних мажорных версий, чтобы добавить предыдущие выпуски, как в реальном трафике.
Почему во всех User Agent для Windows указано Windows NT 10.0?
Браузеры зафиксировали значение платформы: Windows 11 сообщает о себе как NT 10.0, чтобы не ломать старый код анализа строк и снизить возможности фингерпринтинга. Чтобы различить Windows 10 и 11, запросите подсказку Sec-CH-UA-Platform-Version: версия 13 и выше соответствует Windows 11.
Можно ли использовать эти User Agent для парсинга сайтов?
Вы можете применять их в собственных тестах и скриптах, которые соблюдают правила площадок и директивы robots.txt. Реалистичный User Agent сам по себе не превращает скрипт в полноценный браузер и не дает права обходить ограничения доступа.
Законно ли менять свой User Agent?
В подавляющем большинстве случаев да: замена User Agent в браузере или коде — стандартная практика разработки и тестирования. Проблемы могут возникнуть лишь тогда, когда подмена применяется для обхода систем авторизации, средств защиты или преднамеренного введения в заблуждение в нарушение законов и правил сервиса.