Введение
cURL — это утилита командной строки для передачи данных на удаленный сервер или с него с использованием одного из поддерживаемых протоколов. Он установлен по умолчанию в macOS и большинстве дистрибутивов Linux.
cURL используется разработчиками для тестирования API, просмотра заголовков ответов и выполнения HTTP-запросов.
В этой статье мы объясним, как использовать cURL для выполнения запросов POST. Метод HTTP POST используется для отправки данных на удаленный сервер.
Сделать POST-запрос
Общая форма командыcurl
для выполнения POST-запроса выглядит следующим образом:
curl -X POST [options] [URL]
Параметр -X
указывает, какой метод HTTP-запроса будет использоваться при обмене данными с удаленным сервером.
Тип тела запроса указывается заголовком Content-Type.
Как правило, запрос POST отправляется через HTML-форму. Данные, отправляемые в форму, обычно кодируются в multipart/form-data
или application/x-www-form-urlencoded
.
Чтобы создать запрос POST, используйте параметр -F
, за которым следует пара field=value
. В следующем примере показано, как сделать запрос POST к форме с полями «имя» и «адрес электронной почты»:
curl -X POST -F 'name=noviello' -F '[email protected]' https://example.com/contact.php
Когда используется опция -F
, curl
отправляет данные, используя Content-Type multipart/form-data
.
Другой способ сделать POST-запрос — использовать параметр -d
. Это приводит к тому, что данные отправляются с помощью curl
с помощью application/x-www-form-urlencoded
.
curl -X POST -d 'name=noviello' -d '[email protected]' https://example.com/contact.php
Если параметр -d
используется более одного раза, вы можете объединить данные с помощью символа &
:
curl -X POST -d 'name=noviello&[email protected]' https://example.com/contact.php
Укажите тип контента
Чтобы установить определенный заголовок или тип содержимого, используйте параметр -H
. Следующая команда устанавливает тип запроса POST в application/json
и отправляет объект JSON:
curl -X POST -H "Content-Type: application/json" \
Загрузить файл
Чтобы отправить файл с помощью curl
, просто добавьте символ @
перед путем к файлу. Файл может быть архивом, изображением, документом и т.д.
curl -X POST -F 'image=@/home/user/Pictures/wallpaper.jpg' http://example.com/upload
Вывод
Мы показали вам, как использовать curl
для отправки POST-запросов. Для получения дополнительной информации о curl
посетите страницу документации Curl.