我有一个非常简单的guzzle请求给github下载一个zip存档:
$client = new \Guzzle\Http\Client();
$response
= $client->get("https://github.com/xxxxx/{$name}/zipball/master")
->setResponseBody($file)
->send();
问题是$ file似乎最终包含两(2)份档案副本,即它的大小正好是运行
的两倍。wget https://github.com/xxxxx/{$name}/zipball/master
当然解压缩guzzle版本时会解压缩。我是否在guzzle API中缺少某些东西,可能是由于重定向?
这是guzzle 3.9.2(2014-09-10),Linux,PHP 5.6.6(cli)(建于2015年2月19日13:46:39)
答案 0 :(得分:0)
我刚开始使用Guzzle而我可能错了,但是......
似乎$ client-> get正在获取zip的副本,然后您正在获取该副本,并将其作为响应主体发送回去(因此将第一个副本添加到第二个副本的末尾) ),然后你发送请求。
如果您只想下载该zip文件的副本,那么只需执行以下操作:
$client = new Client();
$response = $client->get('https://github.com/xxxxx/{$name}/zipball/master')->getBody();
file_put_contents("{$name}-master.zip", $response);