我的服务器正在响应 Content-type:application/binary,我能够通过从数据中删除前 10 个字符和最后 8 个字符并将该数据传递给 php 的 gzinflate() 命令来解码该数据。
但我想使用 Linux shell 脚本做同样的事情,但我不知道如何去做,有谁知道在 linux 中是否有与 gzinflate 类似的功能,或者是否有任何其他方法可以解决这个问题。
最佳答案
在 Linux shell 中使用 gzip、gunzip 或 zcat 时,您始终处理以 10 字节 header 开头的数据。该 header 包括(除其他外)一个 2 字节签名(也称为“魔术”)、一个时间戳和压缩方法。在前 10 个字节之后还有一些标志通知可选的辅助 header 。
PHP 函数 gzinflate() 和 gzdeflate() 不适用于这些头字节。这就是您必须从服务器响应中删除前 10 个字节的原因。
因此,为了在 Linux shell 中扩充您从服务器收到的数据,只需将其全部传递给 gunzip 或 zcat,而不删除任何内容。
关于php - 相当于 linux 中的 php gzinflate(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20210081/