Como usar o CURL para baixar um arquivo

How Use Curl Download File



Curl é uma ferramenta de linha de comando popular usada para baixar arquivos da Internet. É uma ferramenta leve que está disponível em qualquer sistema UNIX. Curl oferece suporte a uma ampla gama de protocolos, por exemplo, HTTP, HTTPS, FTP, FTPS, SFTP, etc. Se nenhum protocolo for especificado, curl padroniza para HTTP. As funcionalidades do curl vêm do libcurl.

Curl começou sua jornada em meados da década de 1990, quando a Internet ainda era uma coisa nova. Daniel Stenberg, um programador sueco, iniciou o projeto que acabou se tornando o curl. Ele pretendia desenvolver um bot que baixasse as taxas de câmbio de uma página da web periodicamente e fornecesse equivalentes da coroa sueca em dólares americanos aos usuários de IRC. O projeto deu certo e, assim, nasceu o curl.







Com o tempo, o curl foi aprimorado com a adição de novos protocolos e recursos da Internet. Neste guia, verifique como usar o curl para baixar um arquivo.



Instalando curl

Hoje, você encontrará o curl pré-instalado na maioria das distros Linux. Curl é um pacote bastante popular e está disponível para qualquer distribuição Linux. No entanto, não há garantia de que o curl esteja instalado atualmente em sua distribuição.



Execute o comando de acordo com o tipo de sua distribuição para instalar o curl em seu sistema.





Para instalar o curl no Debian / Ubuntu e derivados, digite o seguinte:

$sudoaptoinstalarondulação



Para instalar o curl no RHEL, CentOS, Fedora e derivados, digite o seguinte:

$sudo yum installondulação

Para instalar o curl no OpenSUSE e derivados, digite o seguinte:

$sudozíperinstalarondulação

Para instalar o curl no Arch Linux e derivados, digite o seguinte:

$sudopacman-Seuondulação

Curl é um software com código aberto. Você pode pegar o código-fonte curl e compilá-lo manualmente. No entanto, este processo é mais complexo e deve ser evitado se você pretende usar curl para mais do que testes ou redistribuição / empacotamento.

O seguinte processo foi demonstrado no Ubuntu. Para obter um guia detalhado sobre como compilar curl, dê uma olhada a documentação oficial do curl .

Baixe o código-fonte do curl aqui. Eu peguei a versão mais recente do código-fonte do curl. No momento em que este artigo foi escrito, a versão mais recente era curl v7.72.0.

$wgethttps://curl.haxx.se/download/curl-7.72.0.tar.xz

Extraia o arquivo.

$alcatrão -xvfcurl-7.72.0.tar.xz

Execute o script de configuração.

$./configurar

Inicie o processo de compilação.

$faço-j $(nproc)

Finalmente, instale o programa curl que acabamos de compilar.

$sudo faço instalar

Usando curl

Para demonstrar o uso do programa curl, primeiro, precisamos de um arquivo fictício para fazer o download. Qualquer arquivo online funcionará para isso, desde que você tenha o link direto para download. Para este guia, vou usar o pequeno arquivo fornecido pela think broadband .

Versão Curl

Confira a versão do curl digitando o seguinte:

$ondulação--versão

Baixar arquivo usando curl

Esta é uma maneira muito básica de usar o curl. Vamos baixar o arquivo fictício. Aqui, o sinalizador -O diz ao curl para baixar e salvar o arquivo no diretório atual.

$ondulação-OUhttp://ipv4.download.thinkbroadband.com/10MB.zip

Para baixar e salvar o arquivo com um nome de arquivo diferente, use o sinalizador -o. Com este sinalizador, o arquivo será baixado e salvo no diretório de trabalho atual.

$ondulação-oudemo.file http://ipv4.download.thinkbroadband.com/10MB.zip

Baixar vários arquivos

Precisa baixar vários arquivos? Siga a estrutura de comando mostrada abaixo. Use -o ou -O conforme necessário.

$ondulação-OU <url_ file_1> -OU <url_file_2>

Barra de progresso

Por padrão, curl não mostra nenhuma barra de progresso. Para habilitar a barra de progresso, use o sinalizador - #.

$ondulação -# -O http://ipv4.download.thinkbroadband.com/10MB.zip

Modo silencioso

Se você quiser que o curl não imprima nenhuma saída, use o sinalizador –silent.

$ondulação- silencioso -OUhttp://ipv4.download.thinkbroadband.com/10MB.zip

Limite de velocidade

Curl permite limitar a velocidade de download. Use o sinalizador –limit-rate, seguido pelo limite de largura de banda, para fazer isso. Aqui, a velocidade de download é limitada a 1 MB.

$ondulação- taxa-limite1m-OUhttp://ipv4.download.thinkbroadband.com/10MB.zip

Gerenciar servidor FTP

Também é possível gerenciar um servidor FTP usando curl. Supondo que o servidor FTP esteja protegido, você precisará usar o sinalizador -u, seguido do nome de usuário e senha. Se nenhum arquivo for especificado, curl imprimirá uma lista de todos os arquivos e diretórios no diretório inicial do usuário.

$ondulação-você <nome do usuário>:<senha>ftp://exmaple.com/

Baixar arquivos de um servidor FTP é como o método mostrado antes. No entanto, supondo que o servidor FTP exija autenticação do usuário, use a seguinte estrutura de comando:

$ondulação-você <nome do usuário>:<senha>ftp://exmaple.com/<Arquivo>

Para fazer upload de um arquivo para o servidor FTP, use a seguinte estrutura de comando:

$ondulação-T <file_to_upload> -você <nome do usuário>:<senha>ftp://exmaple.com/

Agente de usuário

Em certas situações, o URL que você está tentando acessar pode ser bloqueado devido à falta de um agente de usuário adequado. Curl permite definir o agente do usuário manualmente. Para fazer isso, use o sinalizador -A, seguido pelo agente do usuário. Quanto ao agente de usuário, você pode usar o Randomizador de agentes do usuário . Se você quiser um agente de usuário personalizado, poderá encontrar um em WhatIsMyBrowser .

$ondulação-PARA '' -OUhttp://ipv4.download.thinkbroadband.com/10MB.zip

Pensamentos finais

Apesar de ser uma ferramenta simples e leve, o curl oferece muitos recursos. Comparado a outros gerenciadores de download de linha de comando, como wget, curl oferece uma maneira mais sofisticada de lidar com downloads de arquivos.

Para obter informações detalhadas, sempre recomendo verificar a página de manual do curl, que você pode abrir com o seguinte comando:

$caraondulação

Confira alguns dos melhores gerenciadores de download para Linux aqui.

Boa computação!