使用NSURLConnection强制HTTP v1.0请求

2 cocoa cocoa-touch http http-headers

默认情况下,NSURLConnection使用HTTP v1.1执行GET请求.

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

或者是否有我可以设置的HTTP标头将为我执行此操作?

Jim*_*vey 6

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

CFHTTPMessageRef request = CFHTTPMessageCreateRequest( kCFAllocatorDefault,
    CFSTR("GET"), theURL, kCFHTTPVersion1_0 );
Run Code Online (Sandbox Code Playgroud)

如果你想要一个ObjC包装器,有一些可用,包括我自己设计的一个.那个是围绕CF API的一个相当基本的包装器,但你可以从它获得一个NSInputStream,你可以使用它来使用标准的NSInputStream API读取响应数据.

其他如ASIHTTPRequest提供了更大的API,您可能更喜欢它.