Какая строка пользовательского агента мобильного браузера начинается с HTTP?

#php #regex #mobile #browser #user-agent

#php #регулярное выражение #Мобильный #браузер #user-agent

Вопрос:

Отказ от ответственности: я не хочу обсуждать, хорошо или плохо использовать отслеживание пользовательского агента для обнаружения мобильных браузеров!

Существует широко распространенное регулярное выражение (регулярное выражение) для определения мобильного браузера по строке пользовательского агента, которую вы можете загрузить с такого сайта.

И он содержит группу /ht(c(-| |_|a|g|p|s|t)|tp)/i , соответствующую строке, начинающейся с «HTTP».

Таким образом, бот или сервис, использующий модуль PHP Pear HTTP_Request2 , использующий строку like HTP_Request2/2.1.1 (http://pear.php.net/package/http_request2) PHP/5.3.2-1ubuntu4.15 , будет обнаружен как мобильный браузер и перенаправлен на мобильный URL-адрес веб-сайта.

Вопрос: Какой мобильный браузер обнаруживается таким образом? Как будет выглядеть строка пользовательского агента этого мобильного браузера? (бонус: что нужно изменить, чтобы не совпадать HTTP_Request2 с мобильным браузером?)

Ответ №1:

Похоже http://www.voxtel.ru/UAProf/Voxtel_*.xml , по какой-то причине она совпадает, и это все, с чего я мог начать http . Вы можете увидеть их в useragents.txt файл с этого сайта. Однако есть много других, которые содержат http или HTTP позже в строке.

Вероятно, вы могли бы изменить шаблон, поскольку я бы не стал полагаться на http что-то в строке user-agent, чтобы определить, является ли это мобильным устройством:

 /ht(c(-| |_|a|g|p|s|t))/i
  

Комментарии:

1. Боже мой! Я искал этот файл со всеми пользовательскими агентами. Я не ожидал, что это будет на странице About . Откуда я мог знать. 😉 Спасибо, приятель! И спасибо за измененный шаблон!