【发布时间】:2016-10-13 04:29:59
【问题描述】:
我知道我可以使用以下代码来更改默认代理:
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Your user agent", @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
但我想为不同的请求请求不同的用户代理。示例:请求 'www.google.com',使用 agent='google Agent',请求 'www.github.com',使用 agent='github Agent'。
我尝试了以下方法在每个请求中设置“User_Agent”,但它似乎不起作用。
- (void)viewDidLoad {
NSString *urlAddress = @"http://www.amazon.com";
//Create a URL object.
NSURL *url = [NSURL URLWithString:urlAddress];
//URL Requst Object
NSMutableURLRequest *requestObj = [NSMutableURLRequest requestWithURL:url];
[requestObj setValue:@"Foobar/1.0" forHTTPHeaderField:@"User_Agent"];
// But the value is not "Foobar/1.0"
NSString* secretAgent = [webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
NSLog(@"agent - %@", secretAgent);
//Load the request in the UIWebView.
[webView loadRequest:requestObj];
}
还有一个问题:
似乎对默认代理的更改仅在“AppDelegate”或“初始化”中起作用。我对吗?因为我尝试更改“viewDidLoad”但它似乎不起作用。
【问题讨论】:
标签: ios objective-c webview user-agent