J'ai essayé de télécharger un fichier de https://logz.io/sample-data
.
curl -O https://logz.io/sample-data
Cependant, il ne fait que renvoyer un fichier vide nommé sample-data
.
Contrairement à curl
, cependant, wget
fonctionne bien en renvoyant un fichier contenant le contenu approprié.
wget https://logz.io/sample-data
Qu'est-ce que j'ai manqué avec curl
?
Vous avez oublié de suivre les redirections avec curl
car le point de terminaison de l'URL est redirigé (301) vers un autre point de terminaison (https://s3.amazonaws.com/logzio-elk/Apache-daily-access.log
); envoi d'une requête avec la méthode HEAD (-I
) à l'URL spécifiée:
% curl -LI https://logz.io/sample-data
HTTP/1.1 301 Moved Permanently
...
...
Location: https://s3.amazonaws.com/logzio-elk/Apache-daily-access.log
...
HTTP/1.1 200 OK
...
...
Server: AmazonS3
Comme curl
ne suit pas les redirections HTTP par défaut, vous devez indiquer à curl
de le faire à l'aide de l'option -L
/--location
:
curl -LO https://logz.io/sample-data
Comme wget
suit les redirections par défaut, vous accédez à l'URL éventuelle avec wget
tel quel.