我正在使用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地址发出请求。为什么这是我无法解决的问题,并会欣赏任何方向。
约什