iOS User-Agent 用于请求桌面站点

iOS User-Agent for Requesting a Desktop Site

我正在尝试使用 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];

似乎没有带我去任何地方。我的问题是这是我可以使用的正确 User-Agent 字符串吗?或者也许请求在此之后的某个时候覆盖了 headers?

更新: 我尝试在请求时访问 http://www.useragentstring.com/ 而不是 facebook 以查看 User-Agent 字符串。好像是

Mozilla/5.0(iPhone;CPUiPhoneOS8_4喜欢MacOS X) AppleWebKit/600.1.4(KHTML,如 Gecko)Mobile/12H141

而不是我设置的字符串。这让我认为请求在请求期间的某个时间覆盖了 User-Agent。

您用来发送请求的 UIWebView 正在添加自己的用户代理,覆盖您的用户代理。要更改您的网络视图的用户代理,试试这个 Change User Agent in UIWebView (iPhone SDK)