我试图在UIWebView上设置自定义用户代理,但遇到了一个问题,它似乎拒绝这样做-用户代理字符串保持不变。
如何在iOS9中正确更改UIWebView的用户代理字符串
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
userAgent = @"Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36";
[defaults setValue:userAgent forKey:@"UserAgent"];
[defaults setValue:userAgent forKey:@"User-Agent"];
我也试过:
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:theURL];
[request addValue:@"Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36" forHTTPHeaderField:@"User-Agent"];
//
[self.webView loadRequest:request];
运行时
//Web view user-agent: Mozilla/5.0 (iPad; CPU OS 9_3_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13E238
您需要的如下:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *userAgent = @"Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36";
[defaults registerDefaults:@{ @"UserAgent" : userAgent }];
关键是使用registerDefaults:
而不是setValue:forKey: