¿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?
¿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?
Respuestas:
Prueba wget en lugar de curl: wget http://github.com/ziyaddin/xampp/archive/master.zip
wget
lugar de curl
?
unzip
el archivo descargado con curl
, y funcionó bien conwget
Puedes usar:
curl https://github.com/ziyaddin/xampp/archive/master.zip -O -J -L
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 use curl -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:
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.
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.
wget
over of curl
. Para cualquiera que se pregunte las diferencias entre los dos, vea aquí .
curl
quien también contribuye wget
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
"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.
bueno, puedes usar Axel también. Axel es un acelerador de descarga de línea de comando ligero. Es compatible HTTP, HTTPS, FTP
y FTPS
protocolos. Es una alternativa agradable y más rápida.
instalar axel
usando:
apt-get install axel
luego descargue su archivo:
axel http://github.com/ziyaddin/xampp/archive/master.zip
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:
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.