2014-06-11 47 views
0

我试图让WebView发送特定的用户代理,但出于某种原因我无法使其工作。NSMutableURLRequest不尊重用户代理更改

这是我的代码:

- (void)awakeFromNib { 
    NSURL *url = [NSURL URLWithString:@"http://www.whatismybrowser.com/developers/what-http-headers-is-my-browser-sending"]; 
    NSString* userAgent = @"Some Cool User Agent"; 

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
    [request setValue:userAgent forHTTPHeaderField:@"User-Agent"]; 

    NSLog(@"UA : %@",[request valueForHTTPHeaderField: @"User-Agent"]); 

    [self.webView.mainFrame loadRequest:request]; 
} 

所述的NSLog线的输出被Some Cool User Agent所以会出现这在NSMutableURLRequest对象被设置。

我的WebView加载按预期的页面,不过用户代理报道是:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14

我已经Charles Web Debugging Proxy证实了这一点。

为什么在WebView加载页面时User-Agent被忽略?

Complete xcode project here

回答

2

试试这个:

[self.webView setCustomUserAgent:@"Some user agent"];