相当于linux中的php gzinflate()
我的服务器使用的是内容类型:application/binary,我可以通过从数据中删除前10个字符和后8个字符并将数据传递给php的gzinflate()命令来解码数据相当于linux中的php gzinflate(),php,linux,gzip,Php,Linux,Gzip,我的服务器使用的是内容类型:application/binary,我可以通过从数据中删除前10个字符和后8个字符并将数据传递给php的gzinflate()命令来解码数据 但是我想用Linux shell脚本做同样的事情,但我不知道怎么做,有人知道Linux中有没有类似于gzinflate的功能,或者有没有其他方法来解决这个问题。在Linux shell中使用gzip、gunzip或zcat时,您总是在处理以10字节头开始的数据。该报头包括(除其他外)2字节签名(也称为“魔术”)、时间戳和压缩方
但是我想用Linux shell脚本做同样的事情,但我不知道怎么做,有人知道Linux中有没有类似于gzinflate的功能,或者有没有其他方法来解决这个问题。在Linux shell中使用gzip、gunzip或zcat时,您总是在处理以10字节头开始的数据。该报头包括(除其他外)2字节签名(也称为“魔术”)、时间戳和压缩方法。在前10个字节之后还有一些标志通知可选的辅助头 PHP函数gzinflate()和gzdeflate()不能处理这些头字节。这就是为什么必须从服务器响应中删除前10个字节
因此,为了在Linux shell中膨胀从服务器接收到的数据,只需将其全部传递给gunzip或zcat,而不删除任何内容。您标记了问题“gzip”-您是否尝试在下载的文件上使用
gunzip
程序?顺便说一句,应用程序/二进制文件并不意味着gzip压缩,“正确”一般二进制文件的内容类型是application/octet stream
。我用gunzip尝试过,但它给出的错误是:gzip:data.gz:不是gzip格式我不知道服务器端实现,但它用gzip提供了正确的输出(解压压缩数据),所以我假设它是压缩格式,它的头显示它是application/binary如果在整个过程中使用gzdecode(),而不删除任何字节,会发生什么?