Как сделать POST-запрос с помощью cURL

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=linuxize@example.com' 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=linuxize@example.com' https://example.com/contact.php

Если параметр -d используется более одного раза, вы можете объединить данные с помощью символа & :

curl -X POST -d 'name=linuxize&email=linuxize@example.com' 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": "linuxize@example.com"}'     https://example/contact

Загрузка файлов

Чтобы отправить файл с помощью curl , просто добавьте символ @ перед местоположением файла. Файл может быть архивом, изображением, документом и т. Д.

curl -X POST -F 'image=@/home/user/Pictures/wallpaper.jpg' http://example.com/upload

Выводы

Мы показали вам, как использовать curl для выполнения запросов POST. Дополнительные сведения о curl см. На странице документации по Curl .

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

Оставьте комментарий