Muitas ferramentas de linha de comando tem dezenas de opções/recursos, tudo bem documentado em seus manuais de uso. Algumas delas podem fazer coisas muito úteis quando combinadas com outros comandos. Assim, destaco a ferramenta de linha comando chamada cURL. Ela é útil para transferência de dados através de uma série de protocolos de Internet como HTTP (S), FTP, Telnet, LDAP, IMAP, POP3, SMTP, e muito mais. Sendo assim, conheça 6 recursos interessantes oferecidos pela ferramenta cURL.
FERRAMENTA CURL
O cURL e uma ferramenta de linha de comando para manipulação de URLs e transferência de dados. O principal benefício do cURL é que você pode usá-lo em arquivos shell scripts para automatizar a manipulação de URL’s. Ele suporta protocolos, como: FTP, HTTP, FTPS, TELNET, IMAP e outros.
Em termos simplificados, o cURL executa várias solicitações de um cliente para um servidor estabelecendo uma conexão entre eles por meio de um protocolo específico e seus métodos associados. Por exemplo, através de um cliente HTTP, o cURL pode enviar um pedido para ler ou fazer download de conteúdo (GET método de solicitação), ou postar conteúdo através de um formulário em um site (método de solicitação POST). Muitas aplicações e serviços web permitem cURL para interagir com suas APIs (application programming interface).
1 – CAPTURAR INFORMAÇÕES DO TEMPO
$ curl http://wttr.in/LOCALIDADE
Onde, LOCALIDADE é o nome da cidade que deseja consultar.
2 – GERENCIADOR DE DOWNLOADS VIA HTTP
O cURL pode ser usado como um gerenciador de download; por exemplo, quando o download de vários arquivos de uma vez, ou quando você quiser fazer uma pausa.
$ curl -o /home/linux10complica/ebook.pdf -C – https://www.linuxvoice.com/issues/016/Linux-Voice-Issue-016.pdf
Onde, -o renomeia o arquivo baixado e -C permite que o download seja continuado até mesmo se pausado (CTRL + C e retomado se executado o mesmo comando novamente.
3 – GERENCIADOR DE ARQUIVOS VIA FTP
Como o FTP é suportado pelo cURL, você pode usá-lo como um cliente FTP simples para fazer upload e download de arquivos. Você pode procurar os arquivos em um servidor FTP, acessando os diretórios:
$ curl ftp://ftp.debian.org/debian/
-rw-rw-r– 1 1176 1176 1058 Apr 02 11:17 README
-rw-rw-r– 1 1176 1176 1290 Jun 26 2010 README.CD-manufacture
-rw-rw-r– 1 1176 1176 2586 Apr 02 11:17 README.html
-rw-r–r– 1 1176 1176 182040 Apr 17 07:52 README.mirrors.html
-rw-r–r– 1 1176 1176 97063 Apr 17 07:52 README.mirrors.txt
drwxr-sr-x 18 1176 1176 4096 Apr 02 11:18 dists
drwxr-sr-x 4 1176 1176 4096 Apr 19 07:52 doc
-rw-r–r– 1 1176 1176 22818 Apr 19 09:34 extrafiles
drwxr-sr-x 3 1176 1176 4096 Jul 27 2015 indices
-rw-r–r– 1 1176 1176 11363233 Apr 19 09:26 ls-lR.gz
drwxr-sr-x 5 1176 1176 4096 Dec 19 2000 pool
drwxr-sr-x 4 1176 1176 4096 Nov 17 2008 project
drwxr-xr-x 3 1176 1176 4096 Oct 10 2012 tools
$ curl ftp://ftp.debian.org/debian/dists/
Para fazer o download, use o mesmo processo como feito no HTTP (download do arquivo README do FTP do repositório do Debian):
$ curl -O ftp://ftp.debian.org/debian/README
Por outro lado, alguns servidores FTP exigem autenticação antes de poder baixar arquivos. O cURL permite que você faça o login com a opção -u (usuário):
$ curl -u usuario:senha -O ftp://ftp.protegido.com/files/exemplo.txt
Além disso, você também pode fazer upload de arquivos para um servidor FTP com a opção -t (transferência):
$ curl -u usuario:senha -T /home/linux10complica/Documentos/teste.txt ftp://ftp.meuservidor.com
4 – VERIFICAR SE WEBSITE ESTÁ INDISPONÍVEL
$ curl -Is https://www.twitter.com -L | grep HTTP/
HTTP/1.1 301 Moved Permanently
HTTP/1.1 200 OK
Onde, twitter.com foi o website monitorado e o resultado HTTP/1.1 200 OK representou o status OK.
Contudo, este método não é totalmente confiável, porque um site pode retornar um código de status indicando OK, no entanto, estará sem conteúdo quando você abrí-lo no navegador. Ainda assim, na maioria dos casos, deve corresponder à situação real, e que você pode saber o que está acontecendo.
5 – EXPANDIR URLS ENCURTADAS
$ curl -sIL http://goo.gl/zdhYYP | grep ^Location;
Location: http://www.linuxdescomplicado.com.br/2016/04/saiba-como-executar-aplicacoes-graficas-remotamente-atraves-de-uma-conexao-ssh.html
6 – REVELAR IP PÚBLICO
$ curl ipinfo.io
Outros comandos:
curl ipinfo.io
curl -s https://4.ifcfg.me
curl -s http://whatismyip.akamai.com
curl ifconfig.me
curl -s icanhazip.com
Fonte: http://www.linuxdescomplicado.com.br/2016/04/6-recursos-interessantes-oferecidos-pela-ferramenta-curl.html