在 php 上从 CURL 解压缩 gzip 文件

2022-08-30 13:30:27

有谁知道如何解压缩我用curl获得的gzip文件的内容?

例如:http://torcache.com/torrent/63ABC1435AA5CD48DCD866C6F7D5E80766034391.torrent

回应

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 09 Jun 2010 01:11:26 GMT
Content-Type: application/x-bittorrent
Content-Length: 52712
Last-Modified: Tue, 08 Jun 2010 15:09:58 GMT
Connection: keep-alive
Expires: Fri, 09 Jul 2010 01:11:26 GMT
Cache-Control: max-age=2592000
Content-Encoding: gzip
Accept-Ranges: bytes

然后是压缩的 gzip,

我试过gzdecode,但不起作用,gzeflate也是如此,他们根本没有得到任何响应,文件的内容不超过2k


答案 1

只需告诉 cURL 在响应被 gzi 压缩时自动解码响应

curl_setopt($ch,CURLOPT_ENCODING, '');

答案 2

使用 gzdecode

<?php
    $c = file_get_contents("http://torcache.com/" .
        "torrent/63ABC1435AA5CD48DCD866C6F7D5E80766034391.torrent");
    echo gzdecode($c);

d8:announce42:http://tracker.openbittorrent.com/announce13:announce-listll42
...

推荐