Php 如何将gzip解压缩与AFAPI调用一起使用?

Php 如何将gzip解压缩与AFAPI调用一起使用?,php,ios,json,gzip,afnetworking-2,Php,Ios,Json,Gzip,Afnetworking 2,我在我的项目中使用AFNetworking库。最近我听说了NSURLConnection类中defalut提供的gzip数据压缩,它减少了大型json响应的时间和加载时间,因此AFNetworking可能具有该功能,因为它在NSURLConnection之上工作 但我不知道如何通过AFNetworking从phpapi获得gzip压缩的json响应 当Json响应文件大小超过100kb+时,我需要这种技术。如果服务器支持gzip,它可能要求客户端要求服务器启用gzip进行响应。若要请求服务器使用

我在我的项目中使用AFNetworking库。最近我听说了NSURLConnection类中defalut提供的gzip数据压缩,它减少了大型json响应的时间和加载时间,因此AFNetworking可能具有该功能,因为它在NSURLConnection之上工作

但我不知道如何通过AFNetworking从phpapi获得gzip压缩的json响应


当Json响应文件大小超过100kb+时,我需要这种技术。

如果服务器支持
gzip
,它可能要求客户端要求服务器启用
gzip
进行响应。若要请求服务器使用
gzip
,您需要在请求中添加特定的
“接受编码”
标题。例如,可以使用以下代码行执行此操作:

// Get one that serializes your requests, 
// for example from your AFHTTPSessionManager subclass
AFHTTPRequestSerializer <AFURLRequestSerialization> *requestSerializer = ...
[requestSerializer setValue:@"gzip, identity" forHTTPHeaderField:@"Accept-Encoding"];
//获取一个序列化请求的,
//例如,从AFHTTPSessionManager子类
AFHTTPRequestSerializer*requestSerializer=。。。
[requestSerializer设置值:@“gzip,标识”用于HttpHeaderField:@“接受编码”];

“接受编码”
头必须包含
gzip
,而可能不需要
标识。

如果您在AFNetworking中使用基于
NSURLSession
的API,它将如前所述自动包括在内。因此,你不需要做任何事情

请注意,您可能在应用程序日志中看不到请求的标头值,但如果服务器支持gzip,您可以检查标头以确认此行为