我试图将Opera(在Linux下)欺骗成另一个浏览器,在这种情况下iPad用于某些测试目的。
现在我知道网站可以使用例如PHP $useragent = $_SERVER['HTTP_USER_AGENT'];
和JavaScript navigator.userAgent
(或navigator.platform
)来检查哪个浏览器正在访问它。
在Firefox中,您可以使用插件轻松切换用户代理和其他相关信息,但在Opera中似乎很难做到。
首先在opera.ini
中你可以做到:
[User Agent]
Spoof UserAgent ID=1
但这仅限于预定义的UserAgent列表。没有定制的空间。
同样在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,但是当网站通过PHP检查UserAgent时这不起作用,但它适用于使用JavaScript检查的网站。
是否有另一种欺骗完整自定义UserAgent的方式?
答案 0 :(得分:2)
你做不到。在桌面Opera中,即。
在http://labs.opera.com上找到的某些自定义(“GOGI”类型)开发人员版本可能会提供 opera:config#UserPrefs | CustomUser-Agent 选项,您可以在其中指定整个UA字符串(一段时间后发布的版本现在已经相当陈旧了。也许你会更好地使用设备SDK工具?看看http://dev.opera.com/sdk/
答案 1 :(得分:0)
您可以使用网络代理完成相同的专长。我建议尝试一下 Charles Web Debugging Proxy。来自查尔斯代理介绍:
Charles是一个HTTP代理/ HTTP 监视/反向代理,启用a 开发人员查看所有的HTTP和 他们之间的SSL / HTTPS流量 机器和互联网。这个 包括请求,回复和 HTTP标头(包含 cookie和缓存信息)。