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

Здравствуйте, друзья. Команда cURL – это полезная команда особенно для сетевых подключений в терминале. В этом посте вы узнаете, как сделать POST-запрос с помощью cURL. Таким образом, вы сможете быстро выполнить несколько тестов по отправке данных.

Что такое cURL?

Согласно сайту проекта

CURL – ЭТО ИНСТРУМЕНТ КОМАНДНОЙ СТРОКИ И БИБЛИОТЕКА ДЛЯ ПЕРЕДАЧИ ДАННЫХ С ПОМОЩЬЮ URL (АДРЕСОВ).

Также это инструмент не имеющий графического интерфейса, но простой в использовании. Кроме того, он имеет открытый исходный код, что позволяет легко проводить аудит ПО.

cURL доступен практически в любом дистрибутиве Linux, а в некоторых из них даже установлен по умолчанию. Поэтому получить его не составит труда.

Данный инструмент используется в командных строках или скриптах для передачи данных. Его применение простирается от компьютеров, до автомобилей, телевизоров и других устройств, которым он необходим.

И так поехали.

Установка cURL на Ubuntu / Debian

Как я уже говорил, cURL доступен практически для любой системы и лучше всего его устанавливать из официальных репозиториев. Итак, чтобы установить его, откройте терминал и выполните следующие команды.

sudo apt update

sudo apt upgrade

Это так быстро и просто.

=

Теперь проверьте установленную версию.

curl --version

Образец ответа терминала.

Выполнение POST-запроса с помощью cURL на Ubuntu / Debian
Выполнение POST-запроса с помощью cURL на Ubuntu / Debian

Теперь мы можем продолжить.

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

Идея заключается в отправке данных с помощью HTTP POST. Это очень удобно для скриптов и конфигураций. В целом синтаксис выглядит следующим образом.

curl -X POST [options] [URL]

Не обязательно, но обычно POST-запрос выполняется при использовании HTML-форм.

Если вы хотите отправить некоторые данные подобным образом, вы также можете использовать параметр -d.

curl -d "name=Angelo&website=unixcop" -X POST https://linuxwin.ru/

В этом случае информация отправляется на определенный адрес. Для этого запрашивается Имя и Веб-сайт. Как видите, таким образом, включаются некоторые данные. Для этого обратите внимание, что вам нужен точный адрес получателя данных.

Существует опция -H, с помощью которой вы можете указать формат, в котором будут отправлены данные. Например, если вы хотите отправить информацию в HTML-форме с форматом application/x-www-form-urlencoded, то нужно указать его.

curl -X POST https://linuxwin.ru/form -H "Content-Type: application/x-www-form-urlencoded" -d "name=Angelo1&email=sas@unixcop.com"

Таким образом, cURL уже знает в каком формате передавать данные. Другой пример с этим же параметром – в формате JSON.

curl -X POST https://linuxwin.ru/json -H 'Content-Type: application/json' -d '{"name": "angelo", "password": "21125"}'.

Повторяю, вы должны знать в каком формате сайт будет обрабатывать запрос, прежде чем определять команду curl.

Еще один полезный пример – обработка XML-файлов.

curl -X POST https://linuxwin.ru/echo/post/xml -H "Content-Type: application/xml" -d "<Data><Id>1</Id><Username>setiwik</Username></Data>"

Или отправить файл. Для этого случая curl по умолчанию включает отправку формата в зависимости от файла, но вы должны указать полный путь к файлу. Вы также можете указать конкретный тип с помощью опции -H.

curl -d @[путь] https://linuxwin.ru/server

Как видите, процесс прост.

Заключение

В этом посте вы узнали как использовать cURL для отправки данных с помощью POST. Надеюсь вам понравилось и вы сможете применить это в своих проектах.

Nazario

Я — Nazario, создатель и автор сайта linuxwin.ru, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку различных систем. Мои глубокие знания и обширный практический опыт в этих сферах позволяют мне создавать детальные руководства и учебные материалы, ценные для пользователей всех уровней.

Я стремлюсь делать сложные темы доступными и понятными, надеюсь что мой вклад в сообщество IT будет оценен по достоинству.

Моя работа направлена на образование и распространение знаний в области информационных технологий, помогая другим расширять свои возможности и углублять понимание современных технологий.

Linux и Windows
Выскажите своё мнение или присоединяйтесь к обсуждению:

Отправляя комментарий, вы даете согласие на обработку ваших данных в соответствии с политикой конфиденциальности и даёте согласие на их использование.