¿Cómo puedo descargar un archivo ZIP con el comando curl? Lo intenté curl -sO
, pero ocurrió un error. Quiero descargar el archivo zip de la dirección:
http://github.com/ziyaddin/xampp/archive/master.zip
pero no puedo ¿Qué debo escribir?
downloads
command-line
zip
curl
Ziyaddin Sadigov
fuente
fuente
Respuestas:
Solía
curl -LO
y funcionó bien.wget
también funcionafuente
Prueba wget en lugar de curl:
wget http://github.com/ziyaddin/xampp/archive/master.zip
fuente
wget
lugar decurl
?unzip
el archivo descargado concurl
, y funcionó bien conwget
Puedes usar:
Guarda como:
xampp-cli-master.zip
-L
en caso de que se encuentre una redirección.-O
para nombres de archivos remotos (master.zip
)-J
(use with-O
) para permitir el nombre de archivo de encabezado remoto (xampp-cli-master.zip
)O use
-o
para 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 usecurl -O -L
para 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:
fuente
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.
fuente
wget
over ofcurl
. Para cualquiera que se pregunte las diferencias entre los dos, vea aquí .curl
quien también contribuyewget
en 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
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
fuente
"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.
fuente
bueno, puedes usar Axel también. Axel es un acelerador de descarga de línea de comando ligero. Es compatible
HTTP, HTTPS, FTP
yFTPS
protocolos. Es una alternativa agradable y más rápida.instalar
axel
usando:luego descargue su archivo:
fuente
Use la opción
-L
para seguir los redireccionamientos, también puede usar la--output
opción para dar una ruta y un nombre al archivo zip. Por ejemplo:Nota: Use sudo si no tiene permisos para escribir en la carpeta de destino.
fuente