3

特定のプロキシサーバーを介して実行するダウンローダーを作成しています。プロキシ情報を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に変換するにはどうすればよいですか?..助けていただければ幸いです。 。

ありがとう

4

0 に答える 0