/ / Guzzle almacena dos copias del archivo zip al descargar el archivo desde github - php, github, guzzle

Guzzle almacena dos copias del archivo zip al descargar el archivo desde github: php, github, guzzle

Tengo una solicitud de instrucciones muy simple para github para descargar un archivo zip:

$client = new GuzzleHttpClient();
$response
= $client->get("https://github.com/xxxxx/{$name}/zipball/master")
->setResponseBody($file)
->send();

El problema es que $ file parece terminar conteniendo dos (2) copias del archivo, es decir, su tamaño es exactamente el doble del obtenido al ejecutar

wget https://github.com/xxxxx/{$name}/zipball/master

y, por supuesto, descomprimir se queja cuando se descomprime la versión guzzle. ¿Hay algo que me falta en la API de guzzle, tal vez debido a la redirección?

Esto es guzzle 3.9.2 (2014-09-10), Linux, PHP 5.6.6 (cli) (construido: 19 de febrero de 2015 13:46:39)

Respuestas

0 para la respuesta № 1

Soy nuevo en el uso de Guzzle y podría estar equivocado, pero ...

Parece que $ cliente-> obtener es obtener una copia deel código postal, luego usted toma esa copia y la devuelve como el cuerpo de la respuesta (agregando así la primera copia, al final de la segunda), luego está enviando la solicitud.

Si todo lo que quieres hacer es descargar una copia de ese archivo zip, entonces haz algo como esto:

$client = new Client();
$response = $client->get("https://github.com/xxxxx/{$name}/zipball/master")->getBody();
file_put_contents("{$name}-master.zip", $response);