我正在使用[NSStream getStreamsToHost:port:inputStream:outputStream:]创建一个新的流到web服务器,以便动态地流生成的数据。我将如何设置NSStream,以像NSURLConnection那样使用系统HTTP代理?我找不到关于如何查找系统代理的任何信息,到目前为止,我所发现的只是如何针对流设置已知的SOCKS代理。
谢谢你,J
发布于 2011-11-26 21:36:37
免责声明:
NSStream/CF(Read|Write)StreamRef API的新手。这样一来,使用SystemConfiguration-framework (即函数SCDynamicStoreCopyProxies )就可以了。
此函数返回一个CFDictionaryRef,然后可以将其设置为流的kCFStreamPropertyHTTPProxy-property (任何其他代理类型都应该使用协议的等效密钥)。
我还不知道,是否必须在CoreFoundation级别上设置这个属性,或者是否也可以使用-[NSStream setProperty:forKey:] --我强烈地假设后者,但同样地:我今天或多或少地开始认真研究这些APIs -…
不管怎么说,在苹果的CFNetworking编程指南-which中有一个叫做CFNetworking编程指南的章节,它更详细地描述了这些内容。
更新
如果还有人对此感兴趣,那么整个周末,我都会设法找到一个而不是的API。
在iOS上,SCDynamicStore API(在我发布的链接中引用)并不存在。然而,还有另一个从iOS 2.0开始存在的API,并且在OS上存在于10.6之后:
CFProxySupport
虽然CFProxySupport是CFNetwork框架的一部分,但是在"CFNetwork编程指南“中没有提到它--这是一个遗憾,因为它简单易用。
向苹果的文档提交了一个错误(rdar://problem/10491759)
https://stackoverflow.com/questions/5146962
复制相似问题