Я пытаюсь подделать Opera (под Linux), чтобы стать другим браузером, в данном случае iPad для некоторых целей тестирования.
Теперь я знаю, что сайты могут проверять, какой браузер обращается к нему, используя, например, PHP $useragent = $_SERVER['HTTP_USER_AGENT'];
и JavaScript navigator.userAgent
(или navigator.platform
).
В Firefox вы можете использовать аддон, чтобы легко переключать свой пользовательский агент и другую соответствующую информацию, но в Opera кажется, что это немного сложно сделать.
Сначала в opera.ini
вы можете сделать:
[User Agent]
Spoof UserAgent ID=1
Но это ограничено предопределенным списком UserAgents. Нет места для пользовательских.
Также в opera.ini
[ISP]
Id=iPad
Это добавит iPad к пользовательскому агенту Opera. Это начало и работает большую часть времени на сайтах.
В opera.ini
вы можете установить «Пользовательский файл JavaScript» для загрузки пользовательского файла JavaScript перед загрузкой веб-сайта:
[User Prefs]
User JavaScript File=/opera_dir/userjs/load.js
В load.js
вы можете сделать:
navigator.userAgent = "Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10"
Поскольку этот файл выполняется перед загрузкой сайта, я могу изменить UserAgent, но он не будет работать, когда сайт проверяет UserAgent через PHP, но он работает для сайтов, проверяющих с помощью JavaScript.
Есть ли другой способ подделки полного пользовательского агента?