设置User Agent
Posted 菁欣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设置User Agent相关的知识,希望对你有一定的参考价值。
公司的前端要给项目的webview加一个区分,用来区别是ios端访问、android访问还是在浏览器访问的,说是要加一个User Agent ,前端根据不同信息做适配,和我说来一头雾水,后来经过开发同事的指导和在网上查阅资料,才有了点头绪,在这里和大家分享一下。
一、获取UserAgent
UIWebView方式:
UIWebView* tempWebView = [[UIWebView alloc] initWithFrame:CGRectZero]; NSString* userAgent = [tempWebView stringByEvaluatingjavascriptFromString:@"navigator.userAgent"]; NSLog(@"UIWebView默认的userAgent = %@", userAgent);
默认UserAgent输出:
UIWebView默认的userAgent = Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (Khtml, like Gecko) Mobile/14E304
二、修改UserAgent
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UIWebView* tempWebView = [[UIWebView alloc] initWithFrame:CGRectZero]; NSString* userAgent = [tempWebView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"]; NSLog(@"UIWebView默认的userAgent = %@", userAgent); NSString *versionsss = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];; NSString *ua = [NSString stringWithFormat:@"%@/XYWY_YIMAI/iOS/%@", userAgent, versionsss];//自定义需要拼接的字符串 [[NSUserDefaults standardUserDefaults] registerDefaults:@{@"UserAgent" : ua, @"User-Agent" : ua}]; }
获取UserAgent输出:
NSMutableURLRequest *request = ..... /** 获取系统的UA */ NSString *sysUA = request.allHTTPHeaderFields[@"User-Agent"];
最终得到修改后的:
Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Mobile/14E304/XYWY_YIMAI/iOS/5.5
以上是关于设置User Agent的主要内容,如果未能解决你的问题,请参考以下文章
是否可以不设置 $_SERVER['HTTP_USER_AGENT'] ?
Python 爬虫之设置ip代理,设置User-Agent,设置请求头,设置post载荷