ios与php服务器gzip压缩问题,iOS gzip压缩到PHP

我正在通过POST将大量文本发送到我的网页上,而这是PHP收到的.大约500kb-1.5 mb.问题在于它是非常重复的数据,我想对其进行压缩.数据看起来像这样,“ 123,123,123,124,124,124,125,126 …等”

我找到了Geoggrey Garside http://cocoadev.com/wiki/NSDataCategory编写的NSData压缩库,其中包含gzipInflate和gzipDeflate方法,并已使用gzipInflate方法从服务器正确解压缩数据,但是我一生无法弄清楚如何在iOS中压缩字符串并将其发送通过PHP解压缩到服务器.

这是我的iOS代码:

NSData* uncompressedStringData = [@"test" dataUsingEncoding:NSUTF8StringEncoding];

NSData* compressedData = [uncompressedStringData gzipDeflate];

ASIFormDataRequest * request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"myserver"]];

[request setPostValue:@compressedData forKey:@"1"];

...more code to deal with sending the request.. etc...

这是我的PHP代码:

echo gzinflate($_POST['1']);

我从服务器上得到的只是

Warning: gzinflate() data error

任何帮助将非常感激!

解决方法:

尝试gzdecode而不是gzinflate

[编辑]

看来gzdecode仅可用于php5.4(这是我使用gzdecode的版本)

从下面的评论中,我在php5.3上进行了测试,并且可以正常工作

function gzdecode($data)

{

return gzinflate(substr($data,10,-8));

}

?>

标签:post,gzip,ios,php,asiformdatarequest

来源: https://codeday.me/bug/20191201/2078326.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值