Comando CURL e como usar no windows, aprenda usar alguns comandos úteis do CURL e como usar eles diretamente no windows CMD ou PowerShell.
Esse tutorial mostra alguns exemplos das funções mais usadas com o CURL e informações dos comandos para entender melhor essa ferramenta.
O problema é que o curl é muito usado pelos usuários de linux por isso vou mostrar uma forma simples de usar o curl no windows.
Instalar Curl no windows
Existe o executável do curl para ser baixado no site do projeto, mas vou ensinar um método usando o scoop, um gerenciador de pacotes para windows.
É preciso ter instalado o Windows PowerShell 5 ou superior, inclui PowerShell Core e .NET Framework 4.5.
Execute o seguinte comando para instalar o scoop:
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
# ou comando mais curto:
iwr -useb get.scoop.sh | iexCode language: PHP (php)
Com o scoop instalado, basta executar um comando para instalar centenas de aplicativos, veja lista completa dos apps scoop.
Comando para instalar o scoop:
scoop install curl
Comando para instalar o cacert (necessário em caso de uso de HTTPS)
scoop install cacert
Executar o curl no windows
Abra o PowerShell 5.0 ou superior que foi instalado e já pode executar os comandos da ferramenta, veja abaixo alguns exemplos de uso do curl:
Exemplos de comandos Curl
Verificar header com Curl -I
curl -I https://www.google.com
Verbose Curl -v mostra, informações mais detalhadas.
curl -v https://www.google.com
Para seguir o URL em caso de redirect use -L
curl -L https://www.google.com
Os 3 comandos acima podem ser utilizados juntos.
curl -ILv https://www.google.com
Baixar arquivos com curl -O
curl -O https://www.google.com.br/images/nav_logo242.png
Definir um nome para o arquivo baixado, comando curl -o
curl -o logo.png https://www.google.com.br/images/nav_logo242.png
Testando compatibilidade com TLS1.3 com curl –tlsv1.3 (necessário curl 7.57 e openssl 1.1.1)
curl --tlsv1.3 -Iv https://www.google.com.br
Enviando um domínio como referência com -e ou –referer
curl --referer https://www.referer.com.br https://www.google.com.br ou curl -e https://www.referer.com.br https://www.google.com.br
Usando um user agente específico com curl -A
curl -Iv -A "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" https://www.google.com.br
Para descobrir o user agent do seu browser e copiar visite o site do link.
Um user agent interessante para ser usado é GoogleBot
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) curl -Iv -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://www.google.com.br
O GoogleBot pode ser usado para verificar se existe conteúdo diferente para os buscadores, como em caso de sites hackeados que foram adicionados códigos.
A desavantagem de usar o curl é que fica mais difícil encontrar mudanças no código, nesse caso recomendo usar uma extensão no navegador para mudar o user agent.
Usando para testar requests diferentes, muito utilizado para testar configuração de segurança do servidor com curl -X
curl -X GET -I https://www.google.com.br/images/nav_logo242.png
Pode ser usado com HEAD, GET, POST, PUT, DELETE TRACE, OPTIONS, CONNECT
O curl -X também pode ser usado para enviar o request PURGE para um servidor proxy reverso NGINX e limpar o cache.
curl -X PURGE -D – "https://www.example.com/*"
Outros parâmetros cURL
-V, --version Exibe a versão instalada
-h, --help Exibe todos os comandos disponíveis da versão instalada
-b, --cookie <name=data> Envia um request com um cookie
-d, --data <data> Envia um arquivo específico em um request POST
-i, --include Exibir o headers do URL de requisição
-I, --head Exibir apenas o headers
-k, --insecure Permitir conexão insegura
-L, --location Seguir o redirecionamento caso haja
-o, --output <file> Baixa um arquivo e renomeia ele, apenas baixar use: -O
-v, --verbose Exibe mais informações
-X, --request Envia um tipo específico de request
-e, --referer Enviar um URL como referência
-A, --user-agent Usar um agente diferente
Comandos do scoop
Comando para atualizar o scoop:
scoop update
Comando para ver informações do curl:
scoop info curl
Comando para verificar se existe atualizações:
scoop status
Comando para atualizar o pacote curl:
scoop update curl
scoop update cacert
scoop update {nome do pacote}
Outros comandos:
Usage: scoop <command> [<args>] Some useful commands are: alias Manage scoop aliases bucket Manage Scoop buckets cache Show or clear the download cache checkup Check for potential problems cleanup Cleanup apps by removing old versions config Get or set configuration values create Create a custom app manifest depends List dependencies for an app export Exports (an importable) list of installed apps help Show help for a command hold Hold an app to disable updates home Opens the app homepage info Display information about an app install Install apps list List installed apps prefix Returns the path to the specified app reset Reset an app to resolve conflicts search Search available apps status Show status and check for new app versions unhold Unhold an app to enable updates uninstall Uninstall an app update Update apps, or Scoop itself virustotal Look for app's hash on virustotal.com which Locate a shim/executable (similar to 'which' on Linux)
curl cmd windows
Após essa instalação feita através do powershell, o curl também pode ser utilizado normalmente no CMD.
Então caso queira utilizar o CMD, pode utilizar normalmente, inclusive comandos do scoop e outros pacotes.
Outras formas de instalar o curl no windows
Caso queria outra forma de instalar o curl, na página de download de pacotes do curl.se existe outras 5 formas de instalar o curl no windows.
Uma dela eu já falei um pouco aqui no blog, é outro gerenciador de pacotes do windows, chamado Chocolatey.
Instalar curl no linux
Instalar via repositório em distros centOS / RHEL / fedora
yum install curl
Instalar via repositório em distros Debian / Ubuntu e derivados
apt-get install curl
Compilar a versão mais atual do curl em qualquer linux
Baixar a versão mais atual no site do projeto curl e substitua os X pelos números da versão atual.
wget https://curl.haxx.se/download/curl-X.XX.X.zip unzip curl-X.XX.X.zip cd curl-X.XX.X/ ./configure make make install curl -V
