首页 > 其他 > 详细

设置User Agent

时间:2018-05-21 15:18:10      阅读:197      评论:0      收藏:0      [点我收藏+]

  公司的前端要给项目的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

原文:https://www.cnblogs.com/jingxin1992/p/9066476.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!