使用cURL获取压缩内容

6

我需要获取各种网页的内容。其中一些使用不同的方法进行压缩(gzip,deflate等)。我在互联网上搜索并找到了gzipped内容的解决方案:

$ch = curl_init("http://games2k.net/");
curl_setopt($ch,CURLOPT_ENCODING , "gzip");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$output = curl_exec($ch);
curl_close($ch);
echo $output;

然而,这只适用于单个方法。我需要一种解决方案,可以适用于尽可能多的压缩方法(最好是全部),或者至少是最流行的两种方法:gzip和deflate。

非常感谢您的帮助!


压缩的内容是经过gzip压缩的。 - Anigel
谢谢@Anigel指出这一点。我发现gzip实际上使用DEFLATE算法。但人们总是说有两种流行的HTTP压缩方法:gzip和deflate。这真的让我感到困惑。无论如何,我只想知道gzip是否适用于这两种方法。T__T - Bé Khỏe Bé Pro
1个回答

23

你试过了吗?

$ch = curl_init("http://games2k.net/");
curl_setopt($ch,CURLOPT_ENCODING , "");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$output = curl_exec($ch);
curl_close($ch);
echo $output;

保持引号为空


5
非常感谢,@Deepanshu!目前看来将参数留空的方法效果很好。虽然我几乎没有遇到过除gzip以外的压缩方法,但我仍在寻找更多的解决方案和说明。 - Bé Khỏe Bé Pro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接