J'essaie de télécharger une archive tar à partir de GitHub en utilisant cURL , mais cela ne semble pas rediriger:
$ curl --insecure https://github.com/pinard/Pymacs/tarball/v0.24-beta2
<html><body>You are being <a href="https://nodeload.github.com/pinard/Pymacs/tarball/v0.24-beta2">redirected</a>.</body></html>
Remarque: wget fonctionne pour moi:
$ wget --no-check-certificate https://github.com/pinard/Pymacs/tarball/v0.24-beta2
Cependant, je veux utiliser cURL parce que finalement je veux le décompresser en ligne avec quelque chose comme:
$ curl --insecure https://github.com/pinard/Pymacs/tarball/v0.24-beta2 | tar zx
J'ai trouvé que l'URL après la redirection s'est avérée être https://download.github.com/pinard-Pymacs-v0.24-beta1-0-gcebc80b.tar.gz , mais j'aimerais que cURL soit assez intelligent pour comprendre cette sortie.
https
, vous aurez probablement également besoin de-k
.-L
signifie suivre les redirections.La façon modernisée de procéder est:
Remplacez
user-or-org
,repo
et ensha1-or-ref
conséquence.Si vous voulez un fichier zip au lieu d'une archive tar, spécifiez à la
.zip
place du.tar.gz
suffixe.Vous pouvez également récupérer l'archive d'un dépôt privé, en spécifiant l'
-u token:x-oauth-basic
option à curl. Remplaceztoken
par un jeton d'accès personnel.la source
https://[email protected]/user-or-org/repo/archive/sha1-or-ref.tar.gz
curl -OL https://github.com/user-or-org/repo/releases/download/version/<asset name>.tar.gz
Voir l'exemple iciVous pouvez également utiliser wget pour «le décompresser en ligne». Spécifiez simplement stdout comme fichier de sortie (
-O -
):la source
Toutes les autres solutions nécessitent de spécifier un numéro de version / version qui rompt évidemment l'automatisation.
Ce Solution- actuellement testé et connu pour travailler avec Github API v3 - peut cependant être utilisé par un programme pour saisir le DERNIERES communiqué sans préciser toute étiquette ou numéro libération et non-RAT binaire à un nom arbitraire spécifié dans le commutateur
--one-top-level="pi-ap"
. Remplacez simplement l' utilisateur f1linux et le repo pi-ap dans l'exemple ci - dessous avec vos propres détails et Bob est votre oncle:la source
avec un répertoire spécifique
cd your_dir && curl -L https://download.calibre-ebook.com/3.19.0/calibre-3.19.0-x86_64.txz | tar zx
la source
cd your_dir && curl -L https://download.calibre-ebook.com/3.19.0/calibre-3.19.0-x86_64.txz | tar zx; cd -