C#访问iPhone内置的网页

时间:2011-05-19 02:35:32

标签: c# iphone spoof

我正在尝试访问专为iPhone设计的C#中的网页。我发现您可以将用户代理欺骗为"Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3",以使网站认为您是iPhone。

然而,对于某些网站,我只收到回复,告诉我先将网站添加到主屏幕。查看响应,看起来他们正在检查一些变量"window.navigator.standalone"以查看网页的访问方式。在谷歌搜索(see here)之后,这似乎是检测网页是否从主屏幕访问的常用方法。

因此,问题是,是否有人知道如何欺骗请求的其余部分以便加载网页而不是不断要求添加到主屏幕?

1 个答案:

答案 0 :(得分:3)

window.navigator.standalone是在客户端执行的脚本测试,用于检查站点的启动位置(主屏幕或Safari)。在请求中欺骗用户代理将使站点提供内容,但是当站点询问window.navigator.standalone时,显然是错误的返回。

你还没有提到你是在执行脚本,还是你想要实现的目标,所以我只能推测你所请求的网站是为了首先渲染safari启动版本,然后测试变量会使备用请求。

你能提供更多细节吗?也许是您要求的网站网址?

更新:

好的,我说得对。如果该脚本未运行,您将看不到正确的站点。我假设你正在处理自己的请求。您需要做的是将另一个请求作为POST发送到Test.aspx,发布数据为hidHomeScreen = true,从而模拟表单提交。

可悲的是,这不是一般的解决方案,因为检测因站点实施而异。