Правдоподобная строка и просто склеенная
Собрать User-Agent из токенов может кто угодно. Сложность в том, чтобы получилась строка, которую действительно мог бы отправить живой браузер, — и единственная честная проверка здесь одна: разобрать результат обратно. Каждая строка, которую выдаёт генератор, обязана разобраться парсером ровно в тот браузер, систему и класс устройства, которые запрашивали. Парсер тут не соседний сервис, а тест генератора.
Второе правило — отказывать. Несуществующих сочетаний генератор не выдаёт: Safari на Windows не выпускают с 2012 года, а Chrome для Android не бывает в настольном виде. Сервис, который такое придумывает, вредит: он выдаёт строку, которой нет ни у одного живого пользователя, и помечает ваш трафик как искусственный с первого запроса.
Зачем это нужно
Тестовые данные для кода, который разбирает User-Agent или ветвится по нему, — включая крайние случаи, которые вручную не придумаешь.
Фикстуры для аналитики, определения устройств и проверки адаптивной вёрстки на разных браузерах и системах.
Закрыть матрицу устройств в тестировании, не имея всех этих устройств.
Посмотреть, как ваш собственный сайт отвечает старому браузеру, мобильному или поисковому роботу.
Почему одной подмены строки недостаточно
User-Agent — одно заявление из нескольких десятков. Клиентские подсказки продолжают сообщать настоящий браузер, движок рисует так, как рисует, а canvas, видеокарта, шрифты и часовой пояс не меняются вовсе: сколько всего остаётся после подмены строки, видно на тесте отпечатка.
Отсюда и частая ошибка: менять User-Agent на каждом запросе при неподвижном отпечатке и одном IP. Настоящие браузеры держат одну строку неделями, между обновлениями, — поэтому сессия, в которой строка скачет, выглядит подозрительнее, чем сессия, где её вообще не трогали. Работает только связка: адрес, отпечаток, часовой пояс и строка меняются вместе.
Всё считается в вашем браузере. На нашем сервере ничего не генерируется и никуда не записывается.
Частые вопросы
Строки настоящие или выдуманные?
Собраны по тем же схемам версий и токенов, которыми пользуются реальные браузеры, и каждая проверяется обратным разбором. Это правдоподобные строки, а не скопированные с конкретной машины.
Подойдут ли они для парсинга?
Помогут, но сами по себе парсер браузером не сделают: площадки смотрят на клиентские подсказки, поведение TLS, свойства из JavaScript и ритм запросов. Строка — только одна из проверок.
Почему нельзя сгенерировать Safari на Windows?
Такого сочетания не существует: Apple прекратила выпуск Safari для Windows в 2012 году. Выдать его — значит создать строку, которой нет ни у кого, то есть сделать ровно обратное задаче.
Как часто менять User-Agent?
Редко и только вместе с остальным. Живой браузер держит одну строку неделями; смена на каждом запросе — аномалия. Если меняете, вместе со строкой должны двигаться адрес, отпечаток и часовой пояс.
Актуальны ли версии браузеров в строках?
Схемы версий актуальны, но любой фиксированный список со временем стареет. Если для теста нужна конкретная версия, задайте её явно и пересматривайте список после крупных релизов.
Уходят ли сгенерированные строки на ваш сервер?
Нет. Генерация целиком происходит в браузере, до нас ничего не доходит и нигде не сохраняется.