O comando Curl em Linux com exemplos

curl é um utilitário de linha de comando para transferir dados de ou para um servidor projetado para trabalhar sem interação com o usuário. Com curl, você pode baixar ou carregar dados usando um dos protocolos suportados, incluindo HTTP, HTTPS , SCP , SFTP e FTP . curl fornece um número de opções que lhe permitem retomar as transferências, limitar a largura de banda, suporte ao proxy, autenticação do Usuário, e muito mais.,

neste tutorial, vamos mostrar-lhe como usar a ferramenta de curl através de exemplos práticos e explicações detalhadas das opções de curl mais comuns.

instalando Curl #

o pacote curl está pré-instalado na maioria das distribuições Linux hoje.

para verificar se o pacote Curl está instalado no seu sistema, abra a sua consola, digite curl, e carregue em enter. Se tivercurl instalado, o sistema irá imprimircurl: try 'curl --help' or 'curl --manual' for more information. Caso contrário, você vai ver algo como curl command not found.,

Se curl não estiver instalado pode instalá-lo facilmente usando o Gestor de pacotes da sua distribuição.

Instalar o Curl no Ubuntu e Debian #

sudo apt updatesudo apt install curl

Instalar o Curl no CentOS e Fedora #

sudo yum install curl

Como Usar o Curl #

A sintaxe para o curl comando é da seguinte maneira:

curl 

Em sua forma mais simples, quando chamado sem qualquer opção, curl exibe o recurso especificado para a saída padrão.,

Por exemplo, para recuperar o example.com página inicial, você deve executar:

curl example.com

O comando irá imprimir o código-fonte de example.com página inicial na sua janela de terminal.

Se não for especificado nenhum protocolo, curl tenta adivinhar o protocolo que deseja usar, e por omissão será HTTP.

Guardar o resultado num Ficheiro de #

Para salvar o resultado da curl comando, use o -o ou -O opção.,

Minúsculas -o salva o arquivo com um nome de ficheiro predefinido, que no exemplo abaixo é vue-v2.6.10.js:

curl -o vue-v2.6.10.js https://cdn.jsdelivr.net/npm/vue/dist/vue.js

em Maiúsculas -O salva o arquivo com seu nome original do arquivo:

curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js

Download de Vários arquivos #

Para fazer o download de vários arquivos de uma só vez, use vários -O opções, seguido do URL para o arquivo que você deseja baixar.,

no exemplo a seguir, estamos a descarregar os ficheiros Arch Linux e Debian iso:

Continue um Download #

pode continuar um download usando a opção -C -. Isto é útil se a sua ligação cair durante o download de um ficheiro grande, e em vez de iniciar o download do zero, você pode continuar o anterior.por exemplo, se estiver a descarregar o Ubuntu 18.,04 arquivo iso com o seguinte comando:

curl -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

, e de repente seu quedas de conexão, você pode continuar o download com:

curl -C - -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

Obter os Cabeçalhos HTTP de um URL #

cabeçalhos HTTP são separados por dois pontos de pares chave-valor que contém informações como o agente de usuário, tipo de conteúdo e codificação. Os cabeçalhos são passados entre o cliente e o servidor com o pedido ou a resposta.,ele de recurso especificado:

curl -I --http2 https://www.ubuntu.com/

Testar se um Site oferece Suporte a HTTP/2 #

Para verificar se uma determinada URL suporta o novo HTTP/2 protocolo , buscar os Cabeçalhos de HTTP com -I juntamente com a --http2 opção:

curl -I --http2 -s https://linuxize.com/ | grep HTTP

-s opção informa curl para executar em um silencioso (quiet) e ocultar o indicador de progresso e mensagens de erro.,

Se o servidor remoto suporta HTTP/2, curl imprime HTTP/2.0 200:

HTTP/2 200

caso Contrário, a resposta é HTTP/1.1 200:

HTTP/1.1 200 OK

Se você tem curl versão 7.47.0 ou mais recente, você não precisa usar o --http2 opção, como o HTTP/2 é habilitado por padrão para todas as conexões HTTPS.

Follow Redirects #

By default, curl doesn’t follow the HTTP Location headers.,ele página você será redirecionado para a www versão:

curl google.com

-L opção instrui o curl siga qualquer um redirecionamento, até atingir o destino final:

curl -L google.com

Alterar o User-Agent #

às Vezes, quando o download de um arquivo, o servidor remoto pode ser configurado para bloquear a Curvatura do Agente do Usuário, ou retornar com conteúdos diferentes, dependendo do visitante dispositivo e navegador.,

em situações como esta para emular um navegador diferente, use a opção -A.

Por exemplo, emula o Firefox 60 utilize:

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" https://getfedora.org/

Especifica uma Taxa Máxima de Transferência #

--limit-rate opção permite limitar a velocidade de transferência de dados. O valor pode ser expresso em bytes, kilobytes com o k sufixo, megabytes com o m sufixo, e gigabytes com o g sufixo.,

No exemplo a seguir curl vai baixar o Ir binário e limitar a velocidade de download de 1 mb:

curl --limit-rate 1m -O https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

Esta opção é útil para prevenir curl consumir toda a largura de banda disponível.

Transferência de Arquivos via FTP #

Para aceder a um servidor FTP protegido com curl, use o -u opção e especifique o nome de usuário e senha, conforme mostrado abaixo:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

uma Vez iniciada a sessão, o comando lista todos os arquivos e diretórios no diretório home do usuário.,

Você pode fazer download de um único arquivo do servidor FTP usando a seguinte sintaxe:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz

Para fazer o upload de um arquivo para o servidor FTP, use o -T seguido pelo nome do arquivo que você deseja carregar:

curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Enviar Cookies #

às Vezes, você pode precisar fazer uma solicitação HTTP com cookies específicos para o acesso a um recurso remoto ou depurar um problema.

Por padrão, ao solicitar um recurso com curl, não são enviados ou armazenados cookies.,

para enviar cookies para o servidor, use o botão -b seguido de um nome de arquivo contendo os cookies ou uma string.

Por exemplo, para baixar o Oracle Java JDK arquivo rpm jdk-10.0.2_linux-x64_bin.rpm você precisa para passar um cookie chamado oraclelicense com o valor de a:

Usando Proxies #

curl suporta diferentes tipos de proxies, incluindo HTTP, HTTPS e SOCKS., Para transferir dados através de um servidor proxy, use a opção -x (--proxy), seguida pelo URL do proxy.,

O seguinte comando transfere o recurso especificado usando um proxy 192.168.44.1 porto 8888:

curl -x 192.168.44.1:8888 http://linux.com/

Se o servidor proxy requer autenticação, use o -U (--proxy-user) opção seguido do nome de usuário e senha separados por dois-pontos (user:password):

curl -U username:password -x 192.168.44.1:8888 http://linux.com/

Conclusão #

curl é uma ferramenta de linha de comando que permite a você transferir dados de ou para um host remoto., É útil para resolver problemas, baixar arquivos e muito mais.

os exemplos mostrados neste tutorial são simples, mas demonstram o mais usado curl opções e são destinados a ajudá-lo a entender como o curl comando funciona.

para mais informações sobrecurl visite a página de documentação do Curl.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *