Descargue el archivo ZIP con el comando curl

Respuestas:

36

Solía curl -LOy funcionó bien. wgettambién funciona

Ziyaddin Sadigov
fuente
Trabajó para mi. usando Windows 7
fedmich
20

Prueba wget en lugar de curl: wget http://github.com/ziyaddin/xampp/archive/master.zip

don.joey
fuente
1
¿Puede el downvoter explicar? ¿O es el otro cartel?
don.joey
44
¿Podría explicar por qué en wgetlugar de curl?
Jorge Bucaran
1
menos líneas de comando (si le importa), lo que significa menos opciones, pero la mayor diferencia es que wget admite la descarga recursiva
Ran Davidovitz
No sé por qué, pero tuve un error al emitir unzipel archivo descargado con curl, y funcionó bien conwget
Dinei
15

Puedes usar:

curl https://github.com/ziyaddin/xampp/archive/master.zip -O -J -L

Guarda como: xampp-cli-master.zip

  • use -Len caso de que se encuentre una redirección.
  • utilizar -Opara nombres de archivos remotos ( master.zip)
  • use -J(use with -O) para permitir el nombre de archivo de encabezado remoto ( xampp-cli-master.zip)


O use -opara crear su propio nombre de archivo:

curl https://github.com/ziyaddin/xampp/archive/master.zip -L -o MyFilename.zip

Guarda como: MyFilename.zip

Nota: (GitHub admite SSL - uso https://)


También puede usar un curlrc archivo de configuración o un alias que el comando CURL use curl -O -Lpara permitir que funcione de manera similar a WGET.

Consultar: https://curl.haxx.se/docs/manpage.html#OPTIONS (Ver: -O , -J , -L , -o )

Tenga en cuenta la advertencia de usar CURL con la opción -J:

No hay ningún intento de decodificar% -secuencias (todavía) en el nombre de archivo proporcionado, por lo que esta opción puede proporcionarle nombres de archivo bastante inesperados.

ADVERTENCIA : ejerza el uso juicioso de esta opción, especialmente en Windows. Un servidor no autorizado podría enviarle el nombre de un archivo DLL u otro archivo que Windows o algún software de terceros podría cargar automáticamente.

bshea
fuente
5

Si desea descargar el archivo, use wget [option]... [URL]...en su lugar.

Para obtener más información sobre las opciones, simplemente escriba esto en su Terminal: man wget

Para tu propósito:

wget http://github.com/ziyaddin/xampp/archive/master.zip

Tenga en cuenta que el archivo .zip se guardará en el directorio actual en el que se encuentre.

Meintjes
fuente
1
Sería útil explicar las ventajas de usar wgetover of curl. Para cualquiera que se pregunte las diferencias entre los dos, vea aquí .
Jorge Bucaran
@JorgeBucaran Leí la comparación escrita por el autor de curlquien también contribuye wgeten un papel menor. Una omisión evidente (basada en mi pequeño proyecto) es que wget es 10 veces más rápido que el rizo (<2 segundos frente a 12 segundos) recuperando las horas de salida y puesta del sol desdehttps://www.timeanddate.com
WinEunuuchs2Unix
Entonces, a veces, cuando usa wget y el archivo no se sirve directamente, sino que la URL le dice a un servicio dónde ubicar y servir el archivo, lo que termina descargando es un html. Entonces, curl es mejor para algunos archivos
Zloy Smiertniy
3

Para descargar archivos en GitHub (o en cualquier otro sitio que realice redireccionamientos) curl, debe pasar -L(Seguir redireccionamientos), así que use:

curl -L http://github.com/ziyaddin/xampp/archive/master.zip -o xampp.zip

Juliano Petronetto
fuente
1

"curl -LOk" lo hace usando protocolos inseguros (-k), deshabilitando las comprobaciones de certificados SSL (que fallan debido a que la ruta incorrecta no coincide con el certificado), y crea el archivo de salida usando el nombre de archivo (-O) propuesto desde el servidor remoto (También inseguro). En mi opinión, el servidor debería estar mejor configurado para crear alias de redireccionamiento local donde sea necesario, para evitar tener que pasar esta parte no conforme de la URL. Pero la redirección se realiza utilizando solo una redirección HTTP (error HTTP 30x), lo que provoca problemas de curvatura que no siguen (por defecto) esta redirección (no segura), y la opción (-k) desactiva esta comprobación de seguridad. Entonces, en lugar de usar redireccionamientos HTTP (movidos permanentemente), agregue algún enlace interno en el sistema de archivos del servidor. Si esto es necesario porque la URL está alojada en otro servidor físico sin acceso directo entre sus sistemas de archivos, debe usar otro nombre DNS para este host, de modo que los clientes consulten el correcto directamente, sin ningún redireccionamiento. Luego arregle sus páginas web (puede usar los registros de su servidor web para ver dónde se devuelven las redirecciones HTTP 30x y qué páginas web deben verificarse y actualizarse). Obligar a los clientes a usar protocolos no seguros / no verificados no es una buena opción.

Entonces, este es definitivamente un problema de muy mala configuración en el servidor web: intente contactar a su administrador para solucionarlo.

verdy_p
fuente
0

bueno, puedes usar Axel también. Axel es un acelerador de descarga de línea de comando ligero. Es compatible HTTP, HTTPS, FTPy FTPSprotocolos. Es una alternativa agradable y más rápida.

instalar axelusando:

apt-get install axel

luego descargue su archivo:

axel http://github.com/ziyaddin/xampp/archive/master.zip
Mahesh
fuente
0

Use la opción -Lpara seguir los redireccionamientos, también puede usar la --outputopción para dar una ruta y un nombre al archivo zip. Por ejemplo:

sudo curl -L https://github.com/CISOfy/lynis/archive/master.zip --output /etc/lynis.zip

Nota: Use sudo si no tiene permisos para escribir en la carpeta de destino.

Luigi Lopez
fuente