ios UIWebView与WKWebView的UserAgent设置

锄禾日当午,汗滴禾下土;谁知盘中餐,粒粒皆辛苦.jpg
  • User-Agent(用户代理)字符串是Web浏览器用于声明自身型号版本并随HTTP请求发送给Web服务器的字符串,在Web服务器上可以获取到该字符串。

一、UIWebView的UserAgent设置:

// 这个设置需要写到appdelegate的didfinish中;
// MyUserAgent是塞自定义的信息;
// UserAgent不能包含中文;

NSString *systemUserAgent = [[[UIWebView alloc] init] stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
NSString *newUserAgent = [systemUserAgent stringByAppendingFormat:@"/%@", @"MyUserAgent"];
[[NSUserDefaults standardUserDefaults] registerDefaults:@{@"UserAgent":newUserAgent}];

然后加载H5网页的时候,通过charles抓包就能看到我们修改后的userAgent了。


image.png

二、WKWebView的UserAgent设置:

// 导入#import <WebKit/WebKit.h>
// wkWebView需要声明为全局变量,否则会释放导致异步回调result为null;
@property (nonatomic, strong) WKWebView *wkWebView;

self.wkWebView = [[WKWebView alloc] init];
[self.wkWebView evaluateJavaScript:@"navigator.userAgent" completionHandler:^(id _Nullable result, NSError * _Nullable error) {
    NSString *newUserAgent = [result stringByAppendingFormat:@"/%@", @"MyUserAgent"];
    [[NSUserDefaults standardUserDefaults] registerDefaults:@{@"UserAgent":newUserAgent}];
}];

然后加载H5网页的时候,通过charles抓包就能看到我们修改后的userAgent了。


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容