OGeek|极客世界-中国程序员成长平台

标题: 用于请求桌面站点的 iOS 用户代理 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:54
标题: 用于请求桌面站点的 iOS 用户代理

我正在尝试使用 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-推荐答案


您用来发送请求的 UIWebView 正在添加自己的用户代理,覆盖您的。要更改 Web View 的用户代理,请尝试此操作 Change User Agent in UIWebView (iPhone SDK)

关于用于请求桌面站点的 iOS 用户代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31595715/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4