C# 访问 iPhone 构建的网页

本文关键字:网页 构建 iPhone 访问 | 更新日期: 2023-09-27 17:57:10

我正在尝试访问专门为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"以查看网页是如何访问的。 谷歌搜索(见这里)后,这似乎是检测网页是否从主屏幕访问的常用方法。

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

C# 访问 iPhone 构建的网页

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

没有提到您是否正在执行脚本,或者您要实现的目标,所以我只能推测您请求的站点旨在首先呈现 safari 启动版本,然后在测试变量时将提出备用请求。

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

更新:

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

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