IOS修改设备用户代理UserAgent
?用戶代理 User Agent,是指瀏覽器,它的信息包括硬件平臺、系統軟件、應用軟件和用戶個人偏好
在UIWebView的一個代理方法里面,可以查看當前設備的UserAgent
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
? ? //獲取當前設備UserAgent
? ? NSLog(@"%@",[requestvalueForHTTPHeaderField:@"User-Agent"]);
return YES;
}
得到是一串很長的東西
Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D201(這個只能在代理里獲取一次,以后全部為空)
有時候,業務需要在這個agent后面加上一些特殊標識符來區分設備以及應用的平臺,比如安卓和蘋果版本,這個時候往往要在后面加上一些東西,那么如何修改UserAgent呢。
蘋果不允許直接在UIWebView里面修改自己的UserAgent,就算你改了也會被馬上覆蓋.但是蘋果提供了一種永久修改的方法,記住是永久修改,如果想改成其他的必須要覆蓋以前的才行。
?//修改agent
? ? self.agentDic = [[NSDictionaryalloc] initWithObjectsAndKeys:@"Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D201 Ucard/IOS",
?? ? ? ? ? ? ? ? ? ?@"UserAgent", nil];
? ? [[NSUserDefaultsstandardUserDefaults] registerDefaults:self.agentDic];
修改完畢。
在ios開發中,如何獲取到是否使用了代理呢?以及使用的代理IP呢?:
[objc]?view plaincopy
總結
以上是生活随笔為你收集整理的IOS修改设备用户代理UserAgent的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS开发之自定义UIActionShe
- 下一篇: xcode5.0打包IPA