Поиск по сайту:
Лучше заслужить почет и не иметь его, нежели иметь его, не заслужив (Марк Твен).

Использование Curl для выполнения запросов REST API

28.05.2020
5 основных примеров команды Curl

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

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

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

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

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

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

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

 

Параметры Curl

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

curl [options] [URL...]

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

  • -X, –request- метод HTTP, который будет использоваться.
  • -i, –include- Включить заголовки ответа.
  • -d, –data- Данные, которые должны быть отправлены.
  • -H, –header- Дополнительный заголовок для отправки.
Читать  Как использовать команду Dig для запроса DNS в Linux

 

HTTP GET

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

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

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

 

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

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

 

HTTP POST

Метод 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

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

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

 

HTTP PATCH

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

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

 

HTTP DELETE

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

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

 

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

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

Читать  8 Примеров команды Date для начинающих в Linux

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

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

 

Вывод

Мы показали вам, как использовать curl для выполнения тестовых запросов API.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Вы только что получили степень в области веб-дизайна и разработки? Вы…

Спасибо!

Теперь редакторы в курсе.