我试图在C#中访问专门为iPhone构建的网页。我发现您可以伪装用户代理为 "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"
来查看网页是如何被访问的。经过谷歌搜索(请参考此处),看起来这是一种常见的检测方式,用于判断网页是否从主屏幕访问。
因此,问题是,有人知道如何伪造其余请求,以便网页能够加载,而不是不断要求将其添加到主屏幕吗?
if(window.navigator.standalone) { document.aspnetForm.hidHomeScreen.value = window.navigator.standalone; document.aspnetForm.action = "Test.aspx"; document.aspnetForm.method = "post"; document.aspnetForm.submit(); }
。我不能分享该网站,因为它是私人的(而且我希望有一个通用的解决方案,这样就可以在其他我需要处理的网站上使用)。 - mike