2014-06-11 78 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"];