2
如何將一個解碼服務器響應是解碼HTTP分塊+ gzip壓縮內容
1)傳輸編碼:分塊 2)內容類型:gzip的
我需要手動執行此操作和可以」只需使用curl發送請求。我需要從原始$字符串解碼。
下面是應該unchunk一個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 +傳輸編碼如何組合在一起工作?
感謝