我正在创建一个下载程序,我想通过特定的代理服务器运行。我能够将代理信息传递给CFURLRef对象。但是无法在NSURLDownload中使用相同的内容,这将完全忽略所做的代理设置。
NSURL *url = [NSURL URLWithString:@"urlstring"];
CFReadStreamRef readStream;
CFHTTPMessageRef message = CFHTTPMessageCreateRequest(kCFAllocatorDefault,
CFSTR("GET"),
(CFURLRef)url,
kCFHTTPVersion1_1);
readStream = CFReadStreamCreateForHTTPRequest(kCFAllocatorDefault, message);
CFTypeRef keys[2], values[2];
keys[0] = kCFStreamPropertyHTTPSProxyHost;
values[0] = @"proxy.host";
keys[1] = kCFStreamPropertyHTTPSProxyPort;
values[1] = CFNumberCreate(NULL, kCFNumberSInt32Type, @"portNo");
CFDictionaryRef proxyDict = CFDictionaryCreate(NULL, keys, values, 2, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
// boRet =
CFReadStreamSetProperty(readStream, kCFStreamPropertyHTTPProxy, proxyDict);
CFNetworkCopyProxiesForURL(
CFURLRef url,
CFDictionaryRef proxySettings
);
现在,如果我将CFURLRef转换为NSURL对象并将其传递给下载程序,则它无法按预期工作。 如何将设置为CFURLRef对象的属性传递给NSURLRequest?有没有其他方法可以实现这一点?..我也尝试过使用ASIHTTPRequest包装器..但是如何将其转换为NSURLRequest?..任何帮助都将不胜感激
由于