java http gzip 解压缩,解码HTTP分块的gzip压缩内容

如何解码服务器响应

1)transfer-encode:chunked 2)content-type:gzip

我需要手动执行此操作,不能只使用curl发送请求 . 我需要从原始的$ string解码 .

这是一个应该解除HTTP响应(php)的函数:

function unchunkHttpResponse($str=null) {

if (!is_string($str) or strlen($str) < 1) { return false; }

$eol = "\r\n";

$add = strlen($eol);

$tmp = $str;

$str = '';

do {

$tmp = ltrim($tmp);

$pos = strpos($tmp, $eol);

if ($pos === false) { return false; }

$len = hexdec(substr($tmp,0,$pos));

if (!is_numeric($len) or $len < 0) { return false; }

$str .= substr($tmp, ($pos + $add), $len);

$tmp = substr($tmp, ($len + $pos + $add));

$check = trim($tmp);

} while(!empty($check));

unset($tmp);

return $str;

}

但似乎无法使用gzip压缩内容(gzinflate不在此代码段中) . 我尝试对返回的内容执行gzinflate,但这根本不起作用 .

有任何想法吗?或者如何将gzip传输编码块一起工作?

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值