Cómo enviar solicitudes POST con cURL

Cómo enviar solicitudes POST con cURL

cURL es una utilidad de línea de comandos versátil diseñada para transferencias de datos sin inconvenientes a través de diferentes protocolos de red, incluidos HTTP, HTTPS y FTP. Disponible en todos los principales sistemas operativos, cURL se ha convertido en la herramienta estándar para enviar solicitudes HTTP desde la línea de comandos. Su utilidad multiplataforma admite protocolos como HTTP, HTTPS, FTP e IMAP, lo que facilita el envío de solicitudes a las API y el rastreo de sitios web. Debido a su amplia disponibilidad y compatibilidad con protocolos, cURL se menciona comúnmente en la documentación de API REST como una forma rápida de probar llamadas API directamente desde la línea de comandos.

Este tutorial profundiza en la ejecución de solicitudes POST mediante cURL, lo que permite una comunicación eficiente con los servidores a través de simples instrucciones de línea de comandos.

¿Qué es una solicitud POST?

Una solicitud POST es un método HTTP que se utiliza para enviar datos a un servidor y es uno de los métodos HTTP más comunes. A diferencia de las solicitudes GET, en las que los datos se incluyen en la URL, las solicitudes POST transmiten los datos en el cuerpo de la solicitud. Esto permite una transferencia de datos discreta y evita las limitaciones de longitud de URL impuestas por los navegadores en las solicitudes GET.

Las solicitudes POST se utilizan con frecuencia para enviar formularios, cargar archivos y enviar datos JSON a las API. Dado que los datos se almacenan en el cuerpo de la solicitud, no son visibles en el historial del navegador y, a diferencia de las solicitudes GET, los navegadores no suelen almacenar en caché las solicitudes POST.

Casos prácticos de uso de solicitudes POST de cURL

Las solicitudes POST de cURL se utilizan ampliamente en diversos escenarios, incluidos:

  • Prueba de API REST : los desarrolladores utilizan cURL para probar rápidamente los puntos finales de API antes de implementarlos en las aplicaciones.
  • Automatización del envío de formularios : al usar cURL, puede automatizar las interacciones con formularios web y enviar datos sin necesidad de ingresarlos manualmente.
  • Carga de archivos : muchas API permiten cargar archivos mediante solicitudes POST, lo que hace de cURL una herramienta eficaz para automatizar este proceso.
  • Interactuar con sistemas de autenticación : los desarrolladores pueden usar cURL para autenticar usuarios y acceder a recursos protegidos con tokens o credenciales de API.
  • Extracción e integración de datos : la extracción e integración de datos de diferentes fuentes en línea se simplifica utilizando las capacidades de solicitud POST de cURL.

Ejecutar una solicitud POST con cURL

Para comenzar a utilizar cURL para solicitudes POST, asegúrese de que esté instalado en su sistema. Si aún no lo ha instalado, consulte nuestra guía sobre cómo configurar cURL. A continuación, se incluye una tabla de referencia que resume las opciones esenciales de cURL:

Bandera corta

Bandera larga

Argumento(s)

Descripción

-INCÓGNITA

--pedido

(use "POST" para solicitudes POST)

Define el método HTTP para la solicitud.

-b

--galleta

Envía cookies en la solicitud

-do

--tarro de galletas

Guarda las cookies recibidas en un archivo

-d

--datos

Transmite datos en una solicitud POST

-F

--fallar

Garantiza un fallo silencioso en los errores del servidor.

-F

--forma

<nombre=contenido>

Envía datos del formulario (application/x-www-form-urlencoded)

-H

--encabezamiento

encabezado/@archivo

Incluye encabezados HTTP personalizados

-i

--incluir

Muestra encabezados HTTP en la respuesta

-l

--cabeza

Recupera solo encabezados

-k

--inseguro

Evita la verificación SSL

-El

--ubicación

Sigue redirecciones (3XX)

-o

--producción

Guarda la salida en un archivo especificado

-O

--nombre-remoto

Guarda la salida con el nombre de archivo remoto

-s

--silencioso

Suprime los mensajes de salida

-v

--verboso

Permite salida detallada (depuración)

-w

--escritura

Detalles de la respuesta de salida

Para ver la lista completa de opciones disponibles, utilice:

rizo--ayuda

Errores comunes y cómo solucionarlos

Aunque cURL es potente, los usuarios suelen encontrar errores al enviar solicitudes POST. A continuación, se indican algunos problemas habituales y sus soluciones:

  • curl: (6) No se pudo resolver el host : esto significa que el nombre de dominio es incorrecto o que hay un problema de resolución de DNS. Verifique nuevamente la URL.
  • curl: (7) No se pudo conectar al host : indica que no se puede acceder al servidor. Asegúrese de que el servidor esté en línea y de que tenga una conexión a Internet activa.
  • curl: (35) Error de conexión SSL : si la solicitud falla debido a problemas de SSL, intente usar -k para omitir la verificación SSL.
  • HTTP 400 Bad Request (Solicitud incorrecta ): esto significa que el servidor rechazó la solicitud, generalmente debido a un formato de datos incorrecto. Verifique el tipo de contenido y la carga de datos.
  • HTTP 401 No autorizado : se produce cuando se requiere autenticación, pero no se encuentra disponible o es incorrecta. Asegúrese de que las claves API o las credenciales se transmitan correctamente con -u o -H "Autorización: Portador <token>".

Sintaxis básica de la solicitud POST

curl -X POST -d "Hola" https://ejemplo.com/api

En este comando:

  • -X POST especifica el tipo de solicitud.
  • -d "Hola" define los datos que se envían.
  • https://example.com/api es la URL de destino.

Configuración de encabezados de tipo de contenido

curl -X POST -H "Tipo de contenido: texto sin formato" -d "Hola" https://example.com/api

Agregar -H "Content-Type: text/plain" informa al servidor que el formato de los datos es texto simple.

Envío de datos JSON

curl -X POST -H "Tipo de contenido: aplicación/json" -d '{"key":"value"}' https://example.com/api

El uso de application/json como tipo de contenido garantiza que los datos se interpreten correctamente como JSON.

Envío de datos XML

curl -X POST -H "Tipo de contenido: aplicación/xml" -d '<?xml version="1.0" encoding="UTF-8"?><root><name>John Doe</name><age>30</age></root>' https://example.com/api

Subir archivos con POST

curl -X POST -F "archivo=@/ruta/a/img.png" https://ejemplo.com/api/upload

Para cargar varios archivos:

curl -X POST -F "archivo=@/ruta/a/img1.png" -F "archivo=@/ruta/a/img2.png" https://ejemplo.com/api/upload

Autenticación con cURL

curl -u nombre de usuario:contraseña https://ejemplo.com/login

Reemplace el nombre de usuario y la contraseña con credenciales reales.

Conclusión

cURL simplifica las interacciones HTTP con sus potentes y flexibles opciones de línea de comandos. Al dominar las solicitudes POST, los desarrolladores pueden gestionar de forma eficiente las comunicaciones de API, las transmisiones de datos y las cargas de archivos. Ya sea que necesite probar puntos finales de API, automatizar el envío de formularios o extraer datos de sitios web, cURL ofrece una solución liviana y eficaz. ¡Siga experimentando con cURL para optimizar su flujo de trabajo!

Tenga en cuenta que Plisio también le ofrece:

Cree facturas criptográficas en 2 clics and Aceptar donaciones criptográficas

14 integraciones

10 bibliotecas para los lenguajes de programación más populares

19 criptomonedas y 12 blockchain

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.