我正在尝试使用 NSURLRequest 请求桌面站点。我从 How does Chrome's "Request Desktop Site" option work? 找到解决方案似乎是将 User-Agent header 字段设置为模仿桌面 User-Agent 字符串。然而,简单地做
NSURL *url = [NSURL URLWithString"http://www.facebook.com"];
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
[req setValue"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.53.11 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10" forHTTPHeaderField"User-Agent"];
[_webView loadRequest:req];
[self.view addSubview:_webView];
似乎没有带我去任何地方。我的问题是这是我可以使用的正确用户代理字符串吗?或者可能是在此之后的某个时间请求覆盖了 header ?
更新:
我尝试访问 http://www.useragentstring.com/而不是 facebook 在请求时查看 User-Agent 字符串。好像是
Mozilla/5.0(iPhone;CPU iPhone OS 8_4,如 Mac OS X)AppleWebKit/600.1.4(KHTML,如 Gecko)Mobile/12H141
而不是我设置的字符串。这使我认为该请求在请求期间的某个时间覆盖了 User-Agent。
Best Answer-推荐答案 strong>
您用来发送请求的 UIWebView 正在添加自己的用户代理,覆盖您的。要更改 Web View 的用户代理,请尝试此操作
Change User Agent in UIWebView (iPhone SDK)
关于用于请求桌面站点的 iOS 用户代理,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/31595715/
|