gpt4 book ai didi

http - 如何解码gzip编码的html?

转载 作者:可可西里 更新时间:2023-11-01 16:25:16 29 4
gpt4 key购买 nike

我从网络服务器获取数据:

data := '
HTTP/1.1 200 OK
Content-Encoding: gzip
Vary: Accept-Encoding
Content-type: text/html
Transfer-Encoding: chunked
Server: Apache

3d5
????????????????????????????????????
????????????????????????????????????
????????????????????????????????????
';

数据大小为:3d5(十六进制)所有都存储到 TIdBytes 变量“数据”中。

如何解码 gzip 压缩数据,更改其中的内容,然后重新编码并将长度 3d5 编辑为新的。

最佳答案

Transfer-Encoding 响应 header 设置为 chunked。这意味着服务器以 block 的形式发送正文数据,其中每个 block 指示其自身的大小,其中 0 长度的 block 指示数据的结尾。 3d5 指的是第一个 block 的大小。仅当响应中只有 1 个数据 block 时,这才是 HTML 的完整大小。

TIdHTTP 在内部为您处理分块数据。如果去 block 化的数据已经过 gzip 压缩,TIdHTTP 可以为您解压缩它,前提是您分配一个 TIdZLibCompressorBase 派生组件,例如 TIdCompressorZLib,预先到 TIdHTTP.Compressor 属性。

关于http - 如何解码gzip编码的html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8597009/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com