15 dicas sobre como usar o comando 'curl' no Linux

15 dicas sobre como usar o comando 'curl' no Linux

Em meados dos anos 90, quando a internet ainda estava em sua infância, um programador sueco nomeado Daniel Stenberg iniciou um projeto que acabou se tornando o que sabemos como ondulação hoje.

Inicialmente, ele pretendia desenvolver um robô Isso baixaria as taxas de câmbio de uma página da web periodicamente e forneceria equivalentes suecos da Kronor em dólares americanos para usuários do IRC.

Para encurtar a história, o projeto prosperou, adicionando vários protocolos e recursos ao longo do caminho - e o resto é história. Agora vamos mergulhar com os dois pés e aprender a usar o CRO para transferir dados e muito mais no Linux!

Reunimos a seguinte lista de 15 comandos de curl para você.

1. Veja a versão curl

O -V ou --versão As opções não apenas retornarão a versão, mas também os protocolos e recursos suportados em sua versão atual.

$ curl -versão Curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 gnutls/3.4.10 Zlib/1.2.8 LIBIDN/1.32 librtmp/2.3 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets 

2. Baixar um arquivo

Se você deseja baixar um arquivo, você pode usar ondulação com o -O ou -o opções. O primeiro salvará o arquivo no diretório de trabalho atual com o mesmo nome do local remoto, enquanto o último permite especificar um nome de arquivo e/ou local diferente.

$ curl -o http: // yourDomain.com/yourfile.alcatrão.gz # salve como seu arquivo.alcatrão.gz $ curl -o newfile.alcatrão.gz http: // yourDomain.com/yourfile.alcatrão.gz # salvar como novo arquivo.alcatrão.gz 

3. Retomar um download interrompido

Se um download foi interrompido por algum motivo (por exemplo, usando Ctrl + c), você pode retomar com muita facilidade. O uso de -C - (Dash C, Space Dash) diz a Curl para retomar o download começando de onde parou.

$ curl -c --o http: // yourDomain.com/yourfile.alcatrão.gz 
Baixe o arquivo usando o comando curl

4. Baixe vários arquivos

Com o seguinte comando, você vai baixar informações.html e sobre.html de http: // seu mite.com e http: // mysite.com, respectivamente, de uma só vez.

$ Curl -O http: // Yoursite.com/info.html -o http: // mysite.com/sobre.html 

5. Baixe URLs de um arquivo

Se você combinar ondulação Com o XARGS, você pode baixar arquivos de uma lista de URLs em um arquivo.

$ xargs -n 1 curl -o < listurls.txt 
Baixe vários arquivos com Curl

6. Use um proxy com ou sem autenticação

Se você está por trás de um servidor proxy ouvindo na porta 8080 no Proxy.seu domínio.com, fazer.

$ curl -x proxy.seu domínio.com: 8080 -u Usuário: senha -o http: // yourDomain.com/yourfile.alcatrão.gz 

onde você pode pular -U usuário: senha Se seu proxy não exigir autenticação.

7. Consulta cabeçalhos HTTP

Http Cabeçalhos permitem que o servidor da web remoto envie informações adicionais sobre si mesmo junto com a solicitação real. Isso fornece ao cliente detalhes sobre como a solicitação está sendo tratada.

Para consultar os cabeçalhos HTTP de um site, faça:

$ curl -i www.Tecmint.com 
Cabeçalhos http de consulta a curl

Esta informação também está disponível nas ferramentas de desenvolvedor do seu navegador.

8. Faça uma solicitação de postagem com parâmetros

O seguinte comando enviará o primeiro nome e sobrenome parâmetros, juntamente com seus valores correspondentes, para https: // yourDomain.com/info.php.

$ Curl -Data "FirstName = John & LastName = Doe" https: // YourDomain.com/info.php 

Você pode usar esta dica para simular o comportamento de um formulário HTML regular.

9. Faça o download de arquivos de um servidor FTP com ou sem autenticação

Se um servidor FTP remoto estiver esperando conexões em ftp: // yeavePServer, O seguinte comando vai baixar seu arquivo.alcatrão.gz No diretório de trabalho atual.

$ CURL -U Nome de usuário: senha -o ftp: // yeaneftPerver/yourfile.alcatrão.gz 

onde você pode pular -u Nome de usuário: senha Se o servidor FTP permitir logins anônimos.

10. Carregue arquivos para um servidor FTP com ou sem autenticação

Para fazer upload de um arquivo local chamado mylocalfile.alcatrão.gz para ftp: // yeavePServer Usando Curl, faça:

$ CURL -U Nome de usuário: Senha -t MyLocalfile.alcatrão.gz ftp: // yeavePServer 

11. Especifique o agente do usuário

O agente de usuário faz parte da informação que é enviada junto com um Http solicitar. Isso indica qual navegador o cliente usou para fazer a solicitação. Vamos ver o que nossa versão atual do Curl usa como padrão, e vamos alterá -la mais tarde para “Eu sou um novo navegador da web”:

$ curl -i http: // localhost --user -agent "Eu sou um novo navegador da web" 
Curl Verifique o agente do usuário

12. Site da loja Cookies

Quero ver quais cookies são baixados no seu computador quando você navegar para https: // www.CNN.com? Use o seguinte comando para salvá -los para CNNCOOKIES.TXT. Você pode usar o comando CAT para visualizar o arquivo.

$ CURL-Cookie-Jar CNNCOOKIES.txt https: // www.CNN.com/índice.html -o 
Cookies do site da Curl Store

13. Envie cookies do site

Você pode usar os cookies recuperados na última dica nas solicitações subsequentes para o mesmo site.

$ CURL -Cookie CNNCOOKIES.txt https: // www.CNN.com 

14. Modificar resolução de nomes

Se você é um desenvolvedor da web e deseja testar uma versão local de seu domínio.com Antes de empurrá -lo ao vivo, você pode fazer com que o Curl resolva http: // www.seu domínio.com Para o seu host localizador:

$ CURL -Resolver www.seu domínio.com: 80: localhost http: // www.seu domínio.coma 

Assim, a consulta para http: // www.seu domínio.com dirá a Curl para solicitar o site do host localizador em vez de usar DNS ou o /etc/hosts arquivo.

15. Taxa de download limite

Para impedir que Curl colate sua largura de banda, você pode limitar a taxa de download a 100 kb/s do seguinte modo.

$ CURL-Limit-Classe 100k http: // yourDomain.com/yourfile.alcatrão.gz -o 
Resumo

Neste artigo, compartilhamos uma breve história das origens de Curl e explicamos como usá -lo através de 15 exemplos práticos.

Você conhece outros comandos de Curl que possamos ter perdido neste artigo? Sinta -se à vontade para compartilhá -los com nossa comunidade nos comentários! Além disso, se você tiver dúvidas, fique à vontade para nos informar. Estamos ansiosos para ouvir de você!