Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa NSURLConnection/NSURLRequest gzip支持_Cocoa_Cocoa Touch_Gzip_Nsurlconnection_Nsurlrequest - Fatal编程技术网

Cocoa NSURLConnection/NSURLRequest gzip支持

Cocoa NSURLConnection/NSURLRequest gzip支持,cocoa,cocoa-touch,gzip,nsurlconnection,nsurlrequest,Cocoa,Cocoa Touch,Gzip,Nsurlconnection,Nsurlrequest,有人知道NSURLConnection/NSURLRequest是否支持gzip请求吗 如果有,您能提供更多信息吗?尽管如此,该NSURLConnection确实有透明的gzip支持。这意味着,如果服务器支持gzip编码,并且您的请求有一个包含gzip*的Accept encoding头,则服务器将发送一个gzip响应,该响应将被NSURLConnection自动解码 *默认情况下,NSURLRequest可能会添加该标头。如果没有,则必须手动添加,如下所示: [urlReq setValue

有人知道NSURLConnection/NSURLRequest是否支持gzip请求吗

如果有,您能提供更多信息吗?

尽管如此,该
NSURLConnection
确实有透明的gzip支持。这意味着,如果服务器支持gzip编码,并且您的请求有一个包含
gzip
*的
Accept encoding
头,则服务器将发送一个gzip响应,该响应将被
NSURLConnection
自动解码

*默认情况下,
NSURLRequest
可能会添加该标头。如果没有,则必须手动添加,如下所示:

 [urlReq setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"]
尽管如此,
NSURLConnection
确实具有透明的gzip支持。这意味着,如果服务器支持gzip编码,并且您的请求有一个包含
gzip
*的
Accept encoding
头,则服务器将发送一个gzip响应,该响应将被
NSURLConnection
自动解码

*默认情况下,
NSURLRequest
可能会添加该标头。如果没有,则必须手动添加,如下所示:

 [urlReq setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"]

NSURLRequest
将gzip解码为
NSData
;例如服务器响应包含
“内容编码”=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);

NSURLRequest
将gzip解码为
NSData
;例如服务器响应包含
“内容编码”=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);


1.我认为您需要一个NSMutableURLRequest来添加头2。在“iOS 3.2”作为基本sdk时,包含deflate和gzip的accept编码头似乎自动包含(显然以前没有)。我刚刚也做了测试,看到iPhone默认添加了gzip和deflate。有人知道它是否一直受支持,或者从苹果开始默认接受编码的哪个版本开始吗?发送到服务器的gzip编码请求呢?收到数据后,我是否必须解压缩收到的数据?@satymasv[…]。。。服务器将发送一个gzip响应,NSURLConnection将自动解码。1。我认为您需要一个NSMutableURLRequest来添加头2。在“iOS 3.2”作为基本sdk时,包含deflate和gzip的accept编码头似乎自动包含(显然以前没有)。我刚刚也做了测试,看到iPhone默认添加了gzip和deflate。有人知道它是否一直受支持,或者从苹果开始默认接受编码的哪个版本开始吗?发送到服务器的gzip编码请求呢?收到数据后,我是否必须解压缩收到的数据?@satymasv[…]。。。服务器将发送一个Gzip响应,NSURLConnection将自动解码。我在bugreport.apple.com上提交了一个请求,要求公开此API或等效API。这个问题解决了吗?我需要一种方法来下载流而不自动解压缩。@casolorz这个错误在最新的iOS版本上已经修复,它在iOS8和iOS上运行良好later@casolorz你能详细说明一下吗?“bug”在这里被描述为一个缺失的API——那么是什么API填补了这个空白呢?如何控制NSURLSession或请求/响应以使用gzip(或不使用)?您如何指示NSURLSession对响应进行编码,并将其按原样交给您?@mottishne或您是否认为您是有意要求其他人这样做?我在bugreport.apple.com上提交了一个请求,要求公开此API或等效API。这个问题解决了吗?我需要一种方法来下载流而不自动解压缩。@casolorz这个错误在最新的iOS版本上已经修复,它在iOS8和iOS上运行良好later@casolorz你能详细说明一下吗?“bug”在这里被描述为一个缺失的API——那么是什么API填补了这个空白呢?如何控制NSURLSession或请求/响应以使用gzip(或不使用)?您如何指示NSURLSession将响应保留为编码状态,并按原样交给您?@Mottishne或您认为您是想问其他人吗?可能是@JoshCaswell的副本,请检查日期差异。这是在这个问题发布5年后提出的。。我相信另一个问题的答案比这里的答案更有用<代码>接受编码:gzip,deflate自动添加到请求的头[NSURLSession]。可能存在@JoshCaswell的重复项,请检查日期差异。这是在这个问题发布5年后提出的。。我相信另一个问题的答案比这里的答案更有用<代码>接受编码:gzip,deflate自动添加到请求的头[NSURLSession]。