NSStream
クラスを使用して入力/出力ストリームソケットを作成する方法を知っています。TCP接続とSSL接続もできました。HTTP_PROXY
しかし、サーバーへのストリームソケット接続を確立する方法がわかりません。サーバーは、ユーザー名/パスワードも送信する必要があります。
NSStream
これはAPIを使用して可能ですか?
NSStream
クラスを使用して入力/出力ストリームソケットを作成する方法を知っています。TCP接続とSSL接続もできました。HTTP_PROXY
しかし、サーバーへのストリームソケット接続を確立する方法がわかりません。サーバーは、ユーザー名/パスワードも送信する必要があります。
NSStream
これはAPIを使用して可能ですか?
私のように立ち往生している人のために。これが私がそれを解決した方法です。
正しいプロキシキーを使用してください-kCFStreamPropertyHTTPProxyHost
および
kCFStreamPropertyHTTPProxyPort
。
CFHTTPMessageRef request;
request = CFHTTPMessageCreateRequest(
NULL,
CFSTR("GET"),
(__bridge CFURLRef) [NSURL URLWithString:@"http://www.apple.com/"],
kCFHTTPVersion1_1
);
assert(request != NULL);
self.inputStream = CFBridgingRelease(
CFReadStreamCreateForHTTPRequest(NULL, request)
);
CFRelease(request);
if (YES) {
BOOL success;
NSDictionary * proxyDict;
proxyDict = @{
(__bridge NSString *) kCFStreamPropertyHTTPProxyHost: @"proxy.example.com",
(__bridge NSString *) kCFStreamPropertyHTTPProxyPort: @12345,
};
success = [self.inputStream setProperty:proxyDict
forKey:(__bridge NSString *) kCFStreamPropertyHTTPProxy
];
assert(success);
}
[self.inputStream setDelegate:self];
[self.inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop]
forMode:NSDefaultRunLoopMode
];
[self.inputStream open];