1

我试图欺骗 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 的方法吗?

4

2 回答 2

2

你不能。在桌面 Opera 中,就是这样。

在http://labs.opera.com上找到的一些自定义(“GOGI”类型)开发人员构建可能会提供opera:config#UserPrefs|CustomUser-Agent选项,您可以在其中指定整个 UA 字符串(发布的构建而后面现在已经相当老了)。也许您会更好地使用设备 SDK 工具?看看http://dev.opera.com/sdk/

于 2010-05-20T13:11:55.227 回答
0

You can accomplish the same feat using a web-proxy. I'll recommend to try out Charles Web Debugging Proxy. From the charles proxy introduction:

Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).

于 2010-05-20T12:09:01.253 回答