GNU/Linux >> Tutoriales Linux >  >> Linux

Uso de Curl para realizar solicitudes de API REST

Una interfaz de programa de aplicación (API) es un conjunto de definiciones y protocolos que permite que los programas de software se comuniquen entre sí.

El término REST significa transferencia de estado representacional. Es un estilo arquitectónico que consta de un conjunto de restricciones que se utilizarán al crear servicios web.

RESTful API es una API que sigue la arquitectura REST. Por lo general, las API REST usan el protocolo HTTP para enviar y recuperar datos y respuestas con formato JSON. Puede usar los métodos HTTP estándar para crear, ver, actualizar o eliminar recursos a través de la API.

Para probar e interactuar con las API RESTful, puede usar cualquier biblioteca o herramienta que pueda realizar solicitudes HTTP.

Las solicitudes de API se componen de cuatro partes diferentes:

  • El punto final. Esta es la URL que el cliente usa para comunicarse con el servidor.
  • El método HTTP. Le dice al servidor qué acción quiere realizar el cliente. Los métodos más comunes son GET POST PUT DELETE y PATCH
  • Los encabezados. Se utiliza para pasar información adicional entre el servidor y el cliente, como la autorización.
  • El cuerpo. Los datos enviados al servidor.

En este artículo, vamos a discutir cómo usar curl para interactuar con las API RESTful. curl es una utilidad de línea de comandos para transferir datos desde o hacia un servidor remoto. Se instala de forma predeterminada en macOS y en la mayoría de las distribuciones de Linux.

Opciones de rizo #

La sintaxis del curl El comando es el siguiente:

curl [options] [URL...]

Estas son las opciones que usaremos al realizar solicitudes:

  • -X , --request - El método HTTP que se utilizará.
  • -i , --include - Incluya los encabezados de respuesta.
  • -d , --data - Los datos a enviar.
  • -H , --header - Encabezado adicional a enviar.

HTTP OBTENER #

El método GET solicita un recurso específico del servidor.

GET es el método predeterminado cuando se realizan solicitudes HTTP con curl . Este es un ejemplo de cómo realizar una solicitud GET a JSONPlaceholderAPI a una representación JSON de todas las publicaciones:

curl https://jsonplaceholder.typicode.com/posts

Para filtrar los resultados, use los parámetros de consulta:

curl https://jsonplaceholder.typicode.com/posts?userId=1

Publicación HTTP #

El método POST se utiliza para crear un recurso en el servidor. Si el recurso existe, se anula.

El siguiente comando realiza una solicitud POST utilizando los datos especificados con -d opción:

curl -X POST -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts

El tipo del cuerpo de la solicitud se especifica utilizando el Content-Type encabezamiento. De forma predeterminada, cuando no se proporciona este encabezado curl usa Content-Type: application/x-www-form-urlencoded .

Para enviar datos con formato JSON, establezca el tipo de cuerpo en application/json :

curl -X POST -H "Content-Type: application/json" \    -d '{"userId": 5, "title": "Hello World", "body": "Post body."}' \    https://jsonplaceholder.typicode.com/posts

HTTP PUT #

El método PUT se usa para actualizar o reemplazar un recurso en el servidor. Reemplaza todos los datos del recurso especificado con los datos de la solicitud.

curl -X PUT -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts/5

PARCHE HTTP #

El método PUT se utiliza para realizar actualizaciones parciales del recurso en el servidor.

curl -X PUT -d "title=Hello Universe" https://jsonplaceholder.typicode.com/posts/5

ELIMINAR HTTP #

El método DELETE elimina el recurso especificado del servidor.

curl -X DELETE https://jsonplaceholder.typicode.com/posts/5

Autenticación #

Si el extremo de la API requiere autenticación, deberá obtener una clave de acceso. De lo contrario, el servidor API responderá con el mensaje de respuesta "Acceso prohibido" o "No autorizado".

El proceso de obtención de una clave de acceso depende de la API que esté utilizando. Una vez que tenga su token de acceso, puede enviarlo en el encabezado:

curl -X GET -H "Authorization: Bearer {ACCESS_TOKEN}" "https://api.server.io/posts"

Conclusión #

Le mostramos cómo usar curl para realizar solicitudes de API de prueba. Para más información sobre curl , visite la página de documentación de Curl.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.


Linux
  1. ¿Comprobación del estado de la página web con Curl?

  2. ¿Cómo redirigir http a https usando .htaccess?

  3. Usando WGET para ejecutar un cronjob PHP

  4. Usando curl para enviar correo electrónico

  5. ¿Cómo analizar encabezados HTTP usando Bash?

Cómo hacer un servidor CS:GO en Linux VPS

Cómo hacer una solicitud POST con cURL

Haz que tu caparazón de pescado sea hermoso con Oh My Fish

Interceptar solicitudes HTTP en Linux

Haz una solicitud https usando sockets en Linux

Uso del certificado de cliente en el comando Curl