使用NSURLConnection强制HTTP v1.0请求

时间:2009-05-13 07:34:31

标签: cocoa cocoa-touch http http-headers

NSURLConnection默认使用HTTP v1.1执行GET请求。

如何使用HTTP v1.0执行GET请求?

或者我可以设置一个HTTP标头来为我做这个吗?

2 个答案:

答案 0 :(得分:6)

快速查看NSURLRequest API之后,我没有看到从该级别执行此操作的任何方法,但您可以通过下载到CFNetwork.framework中的HTTPMessage API(Mac上的CoreServices.framework)来完成此操作。例如:

CFHTTPMessageRef request = CFHTTPMessageCreateRequest( kCFAllocatorDefault,
    CFSTR("GET"), theURL, kCFHTTPVersion1_0 );

如果你想要一个ObjC包装器,可以使用一些,包括one of my own devising。这是CF API的一个相当基本的包装器,但您可以从中获取一个NSInputStream,您可以使用它来使用标准的NSInputStream API读取响应数据。

其他人,例如ASIHTTPRequest提供了一个更大的API,您可能更喜欢。

答案 1 :(得分:0)

最新版本的ASIHTTPRequest有一个简单的方法:

[request setUseHTTPVersionOne:YES];