Comando curl para descargar un archivo a través de HTTPS

Comando curl para descargar un archivo a través de HTTPS

Necesito descargar un archivo en particular de https://file_path. Aquí está el comando curl que uso para eso:

curl --user user:password "https://file_path?raw" > location
  1. Deseo descargar el contenido real del archivo en la ubicación "file_path" anterior, pero de alguna manera el curl devuelve solo el contenido HTML. ¿Cómo podría solucionar esto?
  2. Cuando ejecuto este comando desde el shell, se ejecuta como se indica arriba para descargar el contenido HTML. Pero cuando lo ejecuto desde un script bash, no descarga nada y devuelve un archivo en blanco. ¿Por qué exhibiría un comportamiento diferente dependiendo de desde dónde se ejecuta?

Respuesta1

curlmodifica lo que envía a stdout y stderr dependiendo de si canaliza su salida, qué opción usa, etc. Debería publicar su script para ver exactamente por qué sucede esto aquí. La mejor manera de forzar el contenido de lo que descargas en un archivo específico es usar la -oopción:

curl --user user:password -o output_file "https://file_path?raw"

Dependiendo de lo que haga con su secuencia de comandos, es posible que también desee utilizar la -sopción para suprimir la progresión de la descarga.

información relacionada