curl
Transfere dados entre o computador local e um servidor. Suporta a maioria dos protocolos de comunicação, incluindo HTTP, HTTPS, FTP, SCP, etc. Mais informações: https://curl.se/docs/manpage.html.
- Faz um pedido HTTP GET e descarrega os conteúdos em
stdout(saída padrão):
curl https://example.com
- Faz um pedido HTTP GET, segue redirecionamentos 3xx
e descarrega os cabeçalhos da resposta e conteúdos parastdout`:
curl --location --dump-header - https://example.com
- Baixa um arquivo, salvando a saída no arquivo indicado pela URL:
curl --remote-name https://example.com/arquivo.zip
- Envia dados codificados por formulário (pedido POST do tipo
application/x-www-form-urlencoded). Usa--data @file_nameou--data @'-'para ler dastdin:
curl -X POST --data 'nome=maria' http://example.com/formulario
- Envia um pedido com um cabeçalho adicional, usando um método HTTP personalizado e por meio de um proxy (tal como BurpSuite), ignorando certificados autoassinados inseguros:
curl -k --proxy http://127.0.0.1:8080 --header 'Authorization: Bearer token' --request GET|PUT|POST|DELETE|PATCH|… https://example.com
- Envia dados no formato JSON, especificando o cabeçalho de tipo de conteúdo (content-type) apropriado:
curl --data '{"nome":"maria"}' --header 'Content-Type: application/json' http://example.com/usuarios/1234
- Passa o certificado do cliente e chave para um recurso, pulando a validação do certificado:
curl --cert cliente.pem --key chave.pem --insecure https://example.com
- Resolve um hostname para um endereço de IP personalizado, com a saída verbosa (similar a editar o arquivo
/etc/hostspara resolução de DNS personalizada):
curl --verbose --resolve example.com:80:127.0.0.1 http://example.com