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