我尝试使用NSURLRequest请求桌面版网站。我从How does Chrome's "Request Desktop Site" option work?发现解决方案似乎是将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];
似乎没有把我带到任何地方。我的问题是这是一个正确的用户代理字符串,我可以使用吗?或者也许是在此之后的某个时候覆盖标题的请求?
更新: 我尝试访问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
而不是我设置的字符串。这使我认为请求在请求期间的某个时候覆盖了用户代理。
答案 0 :(得分:2)
您用来发送请求的UIWebView正在添加自己的用户代理,覆盖您的用户代理。要更改Web视图的用户代理,请尝试此操作 Change User Agent in UIWebView (iPhone SDK)