在PHP中使用gzcompress;需要能够在iPhone上解压缩

时间:2011-04-08 19:09:37

标签: iphone ios gzip

我确信这不是太难(我很惊讶我无法弄清楚),但是这里有:

因此。我正在使用gzcompress()来压缩PHP中的JSON数据,以便将其发送到iPhone应用程序。

在iPhone(iOS)上解决如何解压缩此数据时遇到一些麻烦。

有什么想法?我通过NSMutableURLRequest抓取数据。

谢谢!


提出请求的代码:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:theURL]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];

处理响应的代码:

NSString *responseString = [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] autorelease];

在PHP方面:

echo(gzcompress(json_encode($lines)));

感谢!!!

1 个答案:

答案 0 :(得分:1)

This article表明NSMutableURLRequest支持开箱即用的gzip解压缩,但您需要在请求中添加Accept-Encoding: gzip标头。

扩展你的例子:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:theURL]];
[request setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
[[NSURLConnection alloc] initWithRequest:request delegate:self];

我还建议使用cURL测试PHP脚本,以确保它发送有效的gzip压缩数据。