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=linuxize' -F '[email protected]' https://example.com/contact.php
Когда используется опция -F
, curl
отправляет данные с использованием Content-Type multipart/form-data
.
Другой способ сделать запрос POST — использовать параметр -d
. Это заставляет curl
отправлять данные с использованием Content-Type application/x-www-form-urlencoded
Content-Type.
curl -X POST -d 'name=linuxize' -d '[email protected]' https://example.com/contact.php
Если параметр -d
используется более одного раза, вы можете объединить данные с помощью символа &
:
curl -X POST -d 'name=linuxize&[email protected]' https://example.com/contact.php
Указание Content-Type
Чтобы установить определенный заголовок или Content-Type, используйте параметр -H
. Следующая команда устанавливает тип запроса POST на application/json
и отправляет объект JSON:
curl -X POST -H "Content-Type: application/json"
-d '{"name": "linuxize", "email": "[email protected]"}'
https://example/contact
Загрузка файлов
Чтобы отправить файл с помощью curl
, просто добавьте символ @
перед местоположением файла. Файл может быть архивом, изображением, документом и т. Д.
curl -X POST -F 'image=@/home/user/Pictures/wallpaper.jpg' http://example.com/upload
Выводы
Мы показали вам, как использовать curl
для выполнения запросов POST. Дополнительные сведения о curl
см. На странице документации по Curl .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
ау
Что говоришь
Спасибо!
Для передачи данных через -F обязательно ставить @ Перед расположением загружаемого файла?