Estoy tratando de descargar un tarball de GitHub usando cURL , pero no parece estar redirigiendo:
$ 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>
Nota: wget funciona para mí:
$ wget --no-check-certificate https://github.com/pinard/Pymacs/tarball/v0.24-beta2
Sin embargo, quiero usar cURL porque, en última instancia, quiero descomprimirlo en línea con algo como:
$ curl --insecure https://github.com/pinard/Pymacs/tarball/v0.24-beta2 | tar zx
Descubrí que la URL después de la redirección resultó ser https://download.github.com/pinard-Pymacs-v0.24-beta1-0-gcebc80b.tar.gz , pero me gustaría que cURL fuera lo suficientemente inteligente como para figurar esto afuera.
https
, probablemente también lo necesite-k
.-L
significa seguir las redirecciones.La forma modernizada de hacer esto es:
Reemplazar
user-or-org
,repo
y ensha1-or-ref
consecuencia.Si desea un archivo zip en lugar de un tarball, especifique en
.zip
lugar de.tar.gz
sufijo.También puede recuperar el archivo de un repositorio privado, especificando la
-u token:x-oauth-basic
opción de curl. Reemplácelotoken
con un token de acceso personal.fuente
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
Ver ejemplo aquíTambién puede utilizar wget para »descomprimirlo en línea«. Simplemente especifique stdout como archivo de salida (
-O -
):fuente
Todas las demás soluciones requieren especificar un número de lanzamiento / versión que obviamente rompe la automatización.
Esta solución, actualmente probada y conocida por su funcionamiento con Github API v3 , sin embargo, se puede usar de forma programática para obtener la ÚLTIMA versión sin especificar ninguna etiqueta o número de versión y des-TAR del binario a un nombre arbitrario que especifique en el conmutador
--one-top-level="pi-ap"
. Simplemente cambie el usuario f1linux y repo pi-ap en el siguiente ejemplo con sus propios detalles y Bob es su tío:fuente
con un directorio específico
cd your_dir && curl -L https://download.calibre-ebook.com/3.19.0/calibre-3.19.0-x86_64.txz | tar zx
fuente
cd your_dir && curl -L https://download.calibre-ebook.com/3.19.0/calibre-3.19.0-x86_64.txz | tar zx; cd -