Curl comando para baixar um arquivo via HTTPS

4

Eu preciso baixar um arquivo específico de https://file_path . Aqui está o comando curl que eu uso para isso:

curl --user user:password "https://file_path?raw" > location
  1. Desejo baixar o conteúdo real do arquivo no local "file_path" acima, mas de alguma forma o curl retorna apenas o conteúdo HTML. Como eu poderia consertar isso?
  2. Quando executo este comando a partir do shell, ele é executado como acima para baixar o conteúdo HTML. Mas quando eu corro de dentro de um script bash, ele não baixa nada e retorna um arquivo em branco. Por que exibiria um comportamento diferente dependendo de onde ele está sendo executado?
por Hello 04.05.2016 / 17:19

1 resposta

3

curl modifica o que ele envia para stdout e stderr dependendo se você canaliza sua saída, qual opção você usa etc ... Você precisaria postar seu script para ver exatamente porque isso está acontecendo aqui. A melhor maneira de forçar o conteúdo do que você baixar em um arquivo específico é usar a opção -o :

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

Dependendo do que você faz com seu script, convém também usar a opção -s para suprimir a progressão do download.

    
por 24.05.2016 / 03:13