请问NSURLConnection/NSURLRequest是否支持gzip请求?
如果支持,能否提供更多信息?
请问NSURLConnection/NSURLRequest是否支持gzip请求?
如果支持,能否提供更多信息?
NSURLRequest
会将 gzip 格式的数据解压成 NSData
格式;例如,服务器响应包含 "Content-Encoding" = gzip
,则 NSData
会进行解码。
如果不想自动解码,可以添加以下代码。但请注意,这是私有 API。
//import CFNetwork.framework
extern CFStringRef kCFURLRequestDoNotDecodeData;
typedef const struct _CFURLRequest* CFURLRequestRef;
extern void _CFURLRequestSetProtocolProperty(CFURLRequestRef,CFStringRef,CFTypeRef);
//NSURLRequest init ...
//...
CFURLRequestRef requestRef = (CFURLRequestRef)[request performSelector:@selector(_CFURLRequest)];
_CFURLRequestSetProtocolProperty(requestRef,kCFURLRequestDoNotDecodeData,kCFBooleanTrue);