Métodos HTTP y envío de datos
curl
admite varios métodos HTTP más allá del método GET predeterminado. En este paso, aprenderá cómo utilizar diferentes métodos HTTP y enviar datos con sus solicitudes.
Utilizar el método POST
El método POST se utiliza comúnmente para enviar datos a un servidor. Puede utilizar la opción -X
para especificar el método HTTP y la opción -d
para proporcionar los datos. Intentemos:
curl -X POST -d "name=John&age=25" https://httpbin.org/post
Este comando envía una solicitud POST con datos de formulario a httpbin.org. La respuesta debería devolver los datos que envió:
{
"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"
}
Enviar datos JSON
Para enviar datos JSON, debe especificar el encabezado Content-Type. Ejecute:
curl -X POST -H "Content-Type: application/json" -d '{"name":"John","age":25}' https://httpbin.org/post
La respuesta debería incluir sus datos 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"
}
Utilizar otros métodos HTTP
curl
admite todos los métodos HTTP estándar. Intentemos una solicitud PUT:
curl -X PUT -d "data=example" https://httpbin.org/put
También puede probar una solicitud DELETE:
curl -X DELETE https://httpbin.org/delete
Cada uno de estos comandos devolverá una respuesta que muestra los detalles de su solicitud.
Vamos a guardar la salida de una solicitud POST en un archivo:
curl -X POST -d "name=John&age=25" -o data/post_response.json https://httpbin.org/post
Verifique que se haya creado el archivo:
ls -l data/post_response.json
Y compruebe su contenido:
cat data/post_response.json
Debería ver la respuesta JSON de httpbin.org, similar a lo que se mostró anteriormente.