O comando curl transfere arquivos em uma rede ou da Internet usando uma variedade de protocolos comuns, incluindo HTTP, HTTPS, FTP e SMB. Use-o para acessar sites FTP, enviar e-mails, conectar-se a endereços SAMBA, fazer upload e download de arquivos e tarefas relacionadas.
O comando curl possui muitos parâmetros. Você pode ver uma lista completa desses parâmetros na página de manual curl.
Uso básico do comando ‘curl’
Em sua forma básica, curl baixa o conteúdo da página da web para a janela do terminal .
Por exemplo, digite o seguinte comando em uma janela de terminal:
curl http://www.google.com
O HTML da página de destino do Google é exibido em sua saída padrão.
Direcione o conteúdo de ‘curl’ para um arquivo
Ao baixar um objeto como uma imagem ISO, envie-o para um arquivo em vez de para a saída padrão.
Para salvar o conteúdo em um arquivo, especifique a opção -o da seguinte maneira:
curl -o
Para baixar a página vinculada na seção de uso de comando básico, digite o seguinte comando:
curl -o google.htm http://www.google.com
Após o download do arquivo, abra-o em um editor ou em seu programa padrão determinado pelo tipo de arquivo.
Você pode simplificar ainda mais usando a opção -O da seguinte maneira:
curl -O http://www.google.com/index.html
Essa opção usa a parte do nome do arquivo da URL e a torna o nome do arquivo em que a URL é salva.
As opções -o e -O devem fazer referência a um arquivo específico; eles não podem apontar genericamente para uma pasta ou URL de nível superior. O comando curl relata um erro sem comprimento em tais situações.
Execute ‘curl’ em segundo plano
Por padrão, o comando curl mostra uma barra de progresso informando quanto resta da transferência e quantos dados foram transferidos.
Se você deseja apenas que o comando seja executado sem uma barra de progresso, você precisará executá-lo no modo silencioso. Em seguida, execute-o como um comando em segundo plano .
Para executar um comando silenciosamente, use a opção -s :
curl -s -O
Para executar o comando em segundo plano, use o E comercial da seguinte maneira:
curl -s -O &
Executar o comando curl sem a barra de progresso é mais simplificado, mas você não saberá quanto tempo a transferência levará ou o tempo estimado que deve ser concluída.
Baixe vários URLs com ‘curl’
Em sua forma mais simples, baixe vários URLs simultaneamente, especificando-os em sequência:
curl -O -O
Para baixar um grande número de arquivos com um padrão de nomenclatura comum, use colchetes para fornecer um intervalo. Por exemplo, para obter arquivos de imagem com sufixo 1 a 100, especifique o seguinte:
curl -O
Use chaves para especificar vários sites com formatos semelhantes.
Por exemplo, para baixar as páginas de índice para www.google.com e www.bing.com, use o seguinte comando:
curl -O http://www. {google, bing} .com
Seu shell pode reescrever esses comandos conforme necessário. Saiba mais sobre expressões regulares para contextos relevantes.
Exibindo o progresso
Por padrão, o comando curl retorna as seguintes informações à medida que baixa um URL:
- % Total: porcentagem da transferência total concluída.
- Bytes totais: tamanho total da transferência em bytes.
- % Recebido / transferido: porcentagem de transferência concluída.
- Bytes recebidos / transferidos: Número de bytes baixados.
- Velocidade média de download: velocidade de download em bytes por segundo.
- Velocidade média de upload: velocidade de upload em bytes por segundo.
- Tempo total: tempo estimado para concluir a operação atual.
- Tempo gasto: Tempo decorrido desde o início da transferência.
- Tempo restante: tempo esperado para concluir a transferência.
- Velocidade atual: velocidade de transferência atual em bytes por segundo.
Se você preferir uma barra de progresso simples, especifique a opção – # da seguinte maneira:
curl - # -O
Tratamento de redirecionamentos
O comando curl é inteligente porque pode seguir redirecionamentos. Tudo que você precisa fazer é usar a opção -L da seguinte maneira:
curl -OL
Baixar arquivos de um servidor FTP
O comando curl lida com mais do que transferências de arquivos HTTP. Ele pode lidar com FTP, GOPHER, SMB, HTTPS e outros formatos.
Para baixar arquivos de um servidor FTP, use o seguinte comando:
curl -u user:password -o
Se você especificar o nome de um arquivo como parte do URL, ele fará o download do arquivo, mas se você especificar o nome de uma pasta, ele retornará uma lista de pastas.
Use curl para fazer upload de arquivos para um servidor FTP usando o seguinte comando:
curl -u user:password -T
Os nomes dos arquivos e usam a mesma correspondência de padrão usada para baixar vários arquivos HTTP.