В этой статье мы обсудим, как использовать curl
для взаимодействия с RESTful API. curl
- это утилита командной строки, которую можно использовать для отправки запросов к API.
Запросы API состоят из четырех разных частей:
GET
POST
PUT
DELETE
и PATCH
Синтаксис для curl
команда:
curl [options] [URL...]
В этом посте мы рассмотрим следующие варианты:
-X
или --request
- HTTP-метод, который будет использоваться-i
или --include
- Включите заголовки ответа-d
или --data
- Данные для отправки в API-H
или --header
- любые дополнительные заголовки для отправкиМетод GET используется для принести ресурс с сервера. В curl
метод GET является методом по умолчанию, поэтому указывать его не нужно.
Пример:
curl https://jsonplaceholder.typicode.com/posts
Мы также можем отправлять параметры запроса вместе с curl
Получить запрос.
Пример:
curl https://jsonplaceholder.typicode.com/posts?userId=5
Метод POST используется для Создайте ресурс на сервере.
Чтобы отправить curl
POST запрос мы используем опцию -X POST
.
Пример:
curl -X POST -d 'userId=5&title=Post Title&body=Post content.' https://jsonplaceholder.typicode.com/posts
По умолчанию curl
использует Content-Type: application/x-www-form-urlencoded
как Content-Type
заголовок, поэтому нам не нужно указывать его при отправке данных формы.
Чтобы отправить JSON на curl
мы должны указать Content-Type
как application/json
.
Пример:
curl -X POST -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'Post Title', 'body': 'Post content.'}'
https://jsonplaceholder.typicode.com/posts
Метод PUT используется для Обновить или же заменять ресурс на сервере. Он заменяет все данные указанного ресурса предоставленными данными запроса.
Примечание:Для запроса PUT мы должны предоставить все данные в теле запроса.Чтобы отправить curl
PUT запрос мы используем опцию -X PUT
.
Пример:
curl -X PUT -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'New Post Title', 'body': 'New post content.'}'
https://jsonplaceholder.typicode.com/posts/5
Вышеупомянутый запрос PUT заменит ранее созданное сообщение на «Новый заголовок сообщения» и «Новое тело сообщения».
Метод PATCH используется для создания частичные обновления к ресурсу на сервере.
Примечание:Для запроса PATCH нам не нужно предоставлять все данные. Мы отправляем только те данные, которые хотим обновить.Чтобы отправить curl
В запросе PATCH мы используем опцию -X PATCH
.
Пример:
curl -X PATCH -H 'Content-Type: application/json'
-d '{'userId': 5, 'body': 'Updated post content.'}'
https://jsonplaceholder.typicode.com/posts/5
Обратите внимание, что мы отправляем только тело с «Обновленным содержанием публикации», поскольку мы делаем частичное обновление.
Метод DELETE используется для удаления указанного ресурса с сервера.
Чтобы отправить curl
В запросе DELETE мы используем опцию -X DELETE
.
curl -X DELETE https://jsonplaceholder.typicode.com/posts/5
Примечание:У метода DELETE нет тела.Иногда конечная точка API имеет ограниченный доступ и обслуживает запросы только аутентифицированных и авторизованных пользователей. Для этих запросов мы должны предоставить токен доступа в заголовке запроса.
Чтобы отправить curl
заголовок, мы используем: -H
вариант.
Следующий запрос отправляет запрос POST с токеном носителя в заголовке:
curl -X POST https://some-web-url/api/v1/users -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: Bearer {ACCESS_TOKEN}' -H 'cache-control: no-cache' -d '{ 'username' : 'myusername', 'email' : 'myusername@gmail.com', 'password' : 'Passw0rd123!' }'
В этом посте мы узнали, как отправлять HTTP-запросы (GET, POST, PUT, PATCH и DELETE) в API с помощью команд curl.