Как использовать Curl для выполнения вызовов REST API

12 set 2022 2 min di lettura
Как использовать Curl для выполнения вызовов REST API
Indice dei contenuti

Введение

Интерфейс прикладных программ (API) — это набор определений и протоколов, который позволяет программам взаимодействовать друг с другом.

Термин REST означает передачу репрезентативного состояния. Это архитектурный стиль, состоящий из ряда ограничений, используемых при создании веб-сервисов.

RESTful API — это API, который соответствует архитектуре REST. REST API обычно используют протокол HTTP для отправки и получения данных и ответов в формате JSON. Вы можете использовать стандартные методы HTTP для создания, просмотра, обновления или удаления ресурсов через API.

Для тестирования и взаимодействия с RESTful API вы можете использовать любую библиотеку или инструмент, способный выполнять HTTP-запросы.

Запросы API состоят из четырех разных частей:

  • Конечная точка. Это URL-адрес, используемый клиентом для связи с сервером.
  • Метод HTTP сообщает серверу, какое действие хочет выполнить клиент. Наиболее распространенными методами являются GET POST PUT DELETE и PATCH.
  • Заголовки. Используется для передачи дополнительной информации между сервером и клиентом, такой как авторизация.
  • Тело (тело). Данные отправлены на сервер.

В этой статье мы обсудим, как использоватьcurl для взаимодействия с RESTful API. curl — это утилита командной строки для передачи данных на удаленный сервер или с него. Он установлен по умолчанию в macOS и большинстве дистрибутивов Linux.

Варианты завивки

Синтаксис команды curl следующий:

curl [options] [URL...]

Вот параметры, которые мы будем использовать для отправки запросов:

  • -X, --request — используемый HTTP-метод.
  • -i, --include — включить заголовки ответов.
  • -d, --data — данные для отправки.
  • -H, --header — Дополнительный заголовок для отправки.

HTTP ПОЛУЧИТЬ

Метод GET запрашивает определенный ресурс с сервера.

GET — это метод по умолчанию при выполнении HTTP-запросов с помощью curl. Вот пример того, как сделать запрос GET к JSONPlaceholder API для JSON-представления всех сообщений:

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

Для фильтрации результатов используйте параметры запроса:

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

HTTP-ПОСТ

Метод POST используется для создания ресурса на сервере. Если ресурс существует, он перезаписывается.

Следующая команда создаст новый пост, используя данные, указанные с параметром -d:

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

Тип тела запроса указывается с помощью заголовка Content-Type. По умолчанию, когда этот заголовок не указан, curl использует Content-Type: application/x-www-form-urlencoded

Чтобы отправлять данные в формате JSON, установите тип тела в 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 используется для обновления или замены ресурса на сервере. Заменяет все данные из указанного ресурса данными из запроса.

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

HTTP-патч

Метод PUT используется для частичного обновления ресурса на сервере.

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

HTTP УДАЛИТЬ

Метод DELETE удаляет указанный ресурс с сервера.

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

Аутентификация

Если конечная точка API требует аутентификации, необходимо получить ключ доступа. В противном случае сервер API ответит ответным сообщением «Доступ запрещен» или «Не авторизован».

Процесс получения ключа доступа зависит от используемого вами API. Получив токен доступа, вы можете ввести его в заголовок:

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

Вывод

Мы показали вам, как использовать curl для выполнения тестовых запросов API. Для получения дополнительной информации о curl посетите страницу документации Curl.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.