O cURL é uma ferramenta de linha de comando que possibilita que desenvolvedores e usuários de serviços de hospedagem façam solicitações HTTP a partir do shell e protocolos como HTTPS, FTP, FTPS, IMAP, IMAPS, POP3, POP3S, SMTP e SMTP.
O nome cURL deriva de “URL do cliente” e a autoria dessa ferramenta é do sueco Daniel Stenberg.Inicialmente, ele tinha o objetivo de desenvolver um bot para baixar periodicamente taxas de câmbio de uma página da web e converter os valores em dólar.
Como é um projeto de código aberto, pode ser incrementado por uma comunidade de desenvolvedores, o que contribui constantemente para novas características e funcionalidades. Neste artigo, discutimos um pouco mais sobre o cURL e como usá-lo. Veja, a seguir, quais comandos cURL utilizar para:
- Testar uma API
- Fazer o download de um documento
- Reiniciar um download interrompido
- Fazer o download de múltiplos arquivos
- Baixar URLs de um arquivo
- Usar um proxy com ou sem autenticação
- Consultar cabeçalhos HTTP
- Download ou upload de arquivos de um servidor FTP com ou sem autenticação
- Descobrir os cookies armazenados durante um acesso
Testar uma API
Para testar o funcionamento de uma API, é preciso enviar argumentos por meio do método POST ou JSON com alguns parâmetros específicos. A simulação do comportamento de um formulário HTML por meio do comando cURL pode ser feito a partir de argumentos como:
curl --data "name=joao&surname=emanuel" https://www.seudominio.com
Nesse caso, a ramificação --data
tem a mesma funcionalidade do-d
. Com ele, o método mudará para POST automaticamente. No entanto, o usuário pode usar um -X
e adicionar a requisição para especificar o método que deve ser chamado entre aspas antes do -d
, como mostrado a seguir:
curl -X "POST" -d "name=joao&surname=emanuel" https://www.seudominio.com
Fazer o download de um documento
Para fazer o download de um documento,você pode usar o cURL com:
-O
: salva o arquivo no diretório de trabalho atual com o mesmo nome do local remoto;-o
: permite que você especifique um nome de arquivo e um local diferente do de origem. Veja os exemplos de comandos abaixo:
$ curl -O https://seudominio.com/seuarquivo.tar.gz # Save as seuarquivo.tar.gz $ curl -o novonome.tar.gz https://seudominio.com/seuarquivo.tar.gz # Save as novonome.tar.gz
Reiniciar um download interrompido
Se um download for interrompido por alguma razão (Ctrl + c
, por exemplo), você pode reiniciá-lo por meio do -C
. Essa ramificação dentro do comando cURL orienta o reinício do download a partir do momento em que ele parou.
$ curl -C - -O https://seudominio.com/seuarquivo.tar.gz
Fazer o download de múltiplos arquivos
Com o comando cURL e a ramificação -O
, o usuário também pode executar o download de mais arquivos simultaneamente.
$ curl -O https://seudominio.com/info.html -O https://outrodominio.com/about.html
Baixar URLs de um arquivo
Se o usuário combina o comando cURL com xargs
, consegue fazer o download de todas as URLs presentes em um arquivo de uma vez. Esse processo pode ser bem útil na análise e visualização de dados.
$ xargs -n 1 curl -O < listurls.txt
Usar um proxy com ou sem autenticação
Para encontrar um servidor proxy na porta 8080, o usuário pode usar o seguinte comando:
$ curl -x proxy.seudominio.com:8080 -U usuario:senha -O https://seudominio.com/seuarquivo.tar.gz
Caso o proxy não exija autenticação, basta eliminar o “usuário:senha” do código.
Consultar cabeçalhos HTTP
Os cabeçalhos HTTP permitem ao servidor enviar informações adicionais sobre o site, como detalhes sobre a execução da solicitação, que podem ser interessantes para o usuário.
Apesar de essas informações ficarem disponíveis nas ferramentas de desenvolvedor dos navegadores, por meio do cURL o acesso também é rápido: basta escrever junto ao comando cURL a ramificação -I
e o endereço do site pelo qual você deseja visualizar os dados:
$ curl -I www.seudominio.com
Download ou upload de arquivos de um servidor FTP com ou sem autenticação
O download dos arquivos em um servidor FTP remoto também pode ser realizado por meio do cURL. Digite a ramificação -u
para informar o usuário e a senha de acesso ao servidor (caso eles sejam exigidos), a ramificação -vsc nnnO
e o diretório onde o arquivo foi armazenado no banco de dados (MySQL, por exemplo). Esse comando fará o download do arquivo requisitado no diretório de trabalho atual.
$ curl -u usuario:senha -O ftp://seuservidorftp/seuarquivo.tar.gz
Já o upload pode ser executado a partir da ramificação -T
, seguido pelo nome do arquivo e diretório FTP do servidor:
$ curl -u usuario:senha -T seuarquivolocal.tar.gz ftp://seuservidorftp
Descobrir os cookies armazenados durante um acesso
Caso o usuário queira visualizar quais cookies foram armazenados em seu equipamento durante um acesso a um site, o cURL também consegue exibir essas informações. Suponha que você tenha navegado pelo site <https://www.cnn.com> para ler algumas notícias:
A ramificação --cookie-jar
seguida do nome como o arquivo será salvo em .txt, da URL do site que você deseja analisar e da ramificação -O
salva as informações em seu diretório:
$ curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O
Já a ramificação ~]$ cat
seguida do nome em que o arquivo foi salvo em .txt retorna os dados requisitados:
Para enviar os cookies recuperados em solicitações subsequentes para o mesmo site de origem, basta usar a ramificação --cookie
:
$ curl --cookie cnncookies.txt https://www.cnn.com
Alguns comandos, como--location-trusted
, semelhante ao -L
, permitem o envio de usuário e senha para todos os hosts para os quais o site redireciona. Isso poderá criar uma vulnerabilidade relacionada à segurança e, por isso, é importante usar certificados de segurança como o SSL e o TLS no seu site.
Desenvolvedores podem solicitar o cURL a partir de qualquer terminal, uma vez que conseguem fazer o download por meio do apt-get no Linux. Apesar disso, a ferramenta já vem pré-instalada em sistemas operacionais baseados em Linux.
Se quiser aprofundar mais nessas requisições em cURL, o usuário pode consultar a documentação oficial ou a página do comando.
Mas se você ainda tem muitas dúvidas quanto às linhas de códigos e suas aplicações no gerenciamento do seu site em WordPress, saiba que poderá contar com a ajuda especializada da equipe do Stage.
Quer aprender mais sobre os comandos para HTTP antes de estudar mais a fundo o cURL? Acesse nosso artigo!
CONTEÚDO CRIADO POR HUMANOS
Encontre os melhores freelancers de conteúdo no WriterAccess.
CONTEÚDO CRIADO POR HUMANOS
Encontre os melhores freelancers de conteúdo em WriterAccess.