Métodos HTTP e Envio de Dados
curl suporta vários métodos HTTP além do método GET padrão. Nesta etapa, você aprenderá como usar diferentes métodos HTTP e enviar dados com suas requisições.
Usando o Método POST
O método POST é comumente usado para enviar dados a um servidor. Você pode usar a opção -X para especificar o método HTTP e a opção -d para fornecer os dados. Vamos tentar:
curl -X POST -d "name=John&age=25" https://httpbin.org/post
Este comando envia uma requisição POST com dados de formulário para httpbin.org. A resposta deve ecoar os dados que você enviou:
{
"args": {},
"data": "",
"files": {},
"form": {
"age": "25",
"name": "John"
},
"headers": {
"Accept": "*/*",
"Content-Length": "16",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "httpbin.org",
"User-Agent": "curl/7.81.0",
"X-Amzn-Trace-Id": "Root=1-65b..."
},
"json": null,
"origin": "your-ip-address",
"url": "https://httpbin.org/post"
}
Enviando Dados JSON
Para enviar dados JSON, você precisa especificar o cabeçalho Content-Type. Execute:
curl -X POST -H "Content-Type: application/json" -d '{"name":"John","age":25}' https://httpbin.org/post
A resposta deve incluir seus dados JSON:
{
"args": {},
"data": "{\"name\":\"John\",\"age\":25}",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Content-Length": "24",
"Content-Type": "application/json",
"Host": "httpbin.org",
"User-Agent": "curl/7.81.0",
"X-Amzn-Trace-Id": "Root=1-65b..."
},
"json": {
"age": 25,
"name": "John"
},
"origin": "your-ip-address",
"url": "https://httpbin.org/post"
}
Usando Outros Métodos HTTP
curl suporta todos os métodos HTTP padrão. Vamos tentar uma requisição PUT:
curl -X PUT -d "data=example" https://httpbin.org/put
Você também pode tentar uma requisição DELETE:
curl -X DELETE https://httpbin.org/delete
Cada um desses comandos retornará uma resposta mostrando os detalhes da sua requisição.
Vamos salvar a saída de uma requisição POST em um arquivo:
curl -X POST -d "name=John&age=25" -o data/post_response.json https://httpbin.org/post
Verifique se o arquivo foi criado:
ls -l data/post_response.json
E verifique seu conteúdo:
cat data/post_response.json
Você deve ver a resposta JSON de httpbin.org, semelhante ao que foi mostrado anteriormente.