NSURLSession未使用已配置的代理

时间:2015-04-17 00:17:37

标签: ios https proxy nsurlsession

我正在使用NSURLSession通过HTTPS代理发出一个简单的HTTPS GET请求:

NSURL *url = [NSURL URLWithString:@"https://www.mysecureurl.com"];

NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
NSDictionary *proxyDictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"127.0.0.1", @"kCFProxyHostNameKey", @1234, @"kCFProxyPortNumberKey", @"kCFProxyTypeHTTPS", @"kCFProxyTypeKey", nil];
config.connectionProxyDictionary = proxyDictionary;

NSURLSession *session = [NSURLSession sessionWithConfiguration:config];
NSURLSessionDataTask *dataTask = [session dataTaskWithURL:url completionHandler: ^ (NSData *data, NSURLResponse *response, NSError *error) {
    if (!error) {
        NSLog(@"%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]); //The URL returns the requesters IP address, thus the NSLog should be the IP of the proxy.
    } else {
        NSLog(@"%@", error.description);
    }
}];
[dataTask resume];

但是,当我运行此代码时,不会记录任何错误,但是当我希望看到代理的IP地址被记录时,会记录我的实际IP地址。实际上,NSURLSession不使用代理,但仍然使用我的IP地址发出请求。为什么这是我无法解决的问题,并会欣赏任何方向。

约什

0 个答案:

没有答案