0
게시 본문을 "수축"(헤더에서 Content-encoding: deflate
을 보내야 함)해야하는 원격 서비스에 HTTP POST 요청을합니다. 내 이해에서 이것은 RFC 1950에 포함됩니다. 호환 되려면 어떤 PHP 함수를 사용해야합니까?http 요청을 수축시키는 기능은 무엇입니까?
- gzencode
- gzdeflate
게시 본문을 "수축"(헤더에서 Content-encoding: deflate
을 보내야 함)해야하는 원격 서비스에 HTTP POST 요청을합니다. 내 이해에서 이것은 RFC 1950에 포함됩니다. 호환 되려면 어떤 PHP 함수를 사용해야합니까?http 요청을 수축시키는 기능은 무엇입니까?
Content-Encoding: deflate
데이터를 필요
2b492d2e0100
789c2b492d2e0100045d01c1
이 때문에 gzcompress
결과 유효한 ZLIB 헤더
0111 | 1000 | 11100 | 0 | 10
CINFO | CM | FCHECK | FDICT | FLEVEL
7=32bit | 8=deflate | | no dict | 2=default algo
에게 것으로 보인다 789c
선행 된 버퍼 D를 gzdeflate
'이다 이 우리에게 제공
<?php
$str = 'test';
$defl = gzdeflate($str);
echo bin2hex($defl), "\n";
$comp = gzcompress($str);
echo bin2hex($comp), "\n";
?>
고려
이고 4 바이트의 체크섬이 이어집니다. 이것이 우리가 찾고있는 것입니다. 그것을 요약하면
,
gzdeflate
는Content-Encoding: deflate
는 포장 버퍼를 필요로하는 원료 수축 버퍼 (RFC 1951)gzcompress
이 ZLIB 물건에 싸여 수축 버퍼를 반환합니다 (RFC 1950)을 반환 즉,을 보낼 때 을 사용하면 gzcompress
을 사용합니다. 혼란 이름이참고 : gzdeflate
이 Content-Encoding: deflate
및 gzcompress
에 대한 하지이다는 Content-Encoding: compress
에하지입니다. 그림을 이동!
당신은'gzdeflate()'를 원한다. 이름에서 분명하지 않니? 그렇지 않다면, 문서에도 언급되어 있습니다. – Barmar
@Barmar : gzdeflate'd 문자열이 옆에서 작동하지 않습니다. 그래서 내가 묻습니다. – georg
코드를 보여줘야합니다. – Barmar