Як надсилати запити POST за допомогою cURL

Як надсилати запити POST за допомогою cURL

cURL — це універсальна утиліта командного рядка, розроблена для безперешкодної передачі даних через різні мережеві протоколи, включаючи HTTP, HTTPS і FTP. Доступний у всіх основних операційних системах, cURL став стандартним інструментом для надсилання HTTP-запитів із командного рядка. Його міжплатформна утиліта підтримує такі протоколи, як HTTP, HTTPS, FTP та IMAP, що полегшує надсилання запитів до API та сканування веб-сайтів. Завдяки широкій доступності та підтримці протоколу, cURL зазвичай згадується в документації REST API як швидкий спосіб перевірити виклики API безпосередньо з командного рядка.

Цей підручник розповідає про виконання запитів POST за допомогою cURL, що забезпечує ефективний зв’язок із серверами за допомогою простих інструкцій командного рядка.

Що таке запит POST?

Запит POST — це метод HTTP, який використовується для надсилання даних на сервер і є одним із найпоширеніших методів HTTP. На відміну від запитів GET, де дані включені в URL-адресу, запити POST передають дані в тілі запиту. Це забезпечує непомітну передачу даних і дозволяє уникнути обмежень на довжину URL-адреси, накладених браузерами на запити GET.

Запити POST часто використовуються для надсилання форм, завантаження файлів і надсилання даних JSON до API. Оскільки дані зберігаються в тілі запиту, вони не відображаються в історії браузера, і, на відміну від запитів GET, запити POST зазвичай не кешуються браузерами.

Практичні приклади використання запитів cURL POST

Запити cURL POST широко використовуються в різних сценаріях, зокрема:

  • Тестування REST API – розробники використовують cURL для швидкого тестування кінцевих точок API перед впровадженням їх у програми.
  • Автоматизація надсилання форм – за допомогою cURL ви можете автоматизувати взаємодію з веб-формами, надсилаючи дані без ручного введення.
  • Завантаження файлів – багато API дозволяють завантажувати файли за допомогою запитів POST, що робить cURL ефективним інструментом для автоматизації цього процесу.
  • Взаємодія з системами автентифікації – розробники можуть використовувати cURL для автентифікації користувачів і доступу до захищених ресурсів за допомогою маркерів API або облікових даних.
  • Збирання та інтеграція даних – видобування та інтеграція даних із різних онлайн-джерел спрощується за допомогою можливостей запиту POST cURL.

Виконання запиту POST із cURL

Щоб почати використовувати cURL для запитів POST, переконайтеся, що його встановлено у вашій системі. Якщо ви ще не встановили його, зверніться до нашого посібника з налаштування cURL. Нижче наведено довідкову таблицю, що підсумовує основні параметри cURL:

Короткий прапор

Довгий прапор

Аргумент(и)

опис

-X

-- запит

(використовуйте "POST" для запитів POST)

Визначає метод HTTP для запиту

--печиво

Надсилає файли cookie в запиті

-c

--банка для печива

Зберігає отримані файли cookie у файл

--дані

Передає дані в запиті POST

-f

-- невдача

Забезпечує тихий збій у разі помилок сервера

-- форма

<name=content>

Надсилає дані форми (application/x-www-form-urlencoded)

--заголовок

заголовок/@файл

Включає спеціальні заголовки HTTP

--включити

Відображає заголовки HTTP у відповіді

--голова

Отримує лише заголовки

--невпевнено

Обходить перевірку SSL

--розташування

Слідкує за перенаправленнями (3XX)

--вихід

Зберігає вихідні дані у вказаний файл

--remote-name

Зберігає вихідні дані з назвою віддаленого файлу

-s

--мовчазний

Пригнічує вихідні повідомлення

-- багатослівний

Вмикає детальний вихід (налагодження)

-w

--виписати

Виводить деталі відповіді

Щоб переглянути повний список доступних опцій, використовуйте:

завиток --допомога

Поширені помилки та способи їх усунення

Незважаючи на потужність cURL, користувачі часто стикаються з помилками під час надсилання запитів POST. Ось деякі поширені проблеми та рішення:

  • curl: (6) Не вдалося розпізнати хост – це означає, що доменне ім’я неправильне або існує проблема з розв’язанням DNS. Ще раз перевірте URL-адресу.
  • curl: (7) Не вдалося підключитися до хоста – вказує на те, що сервер недоступний. Переконайтеся, що сервер підключено до Інтернету та що у вас є активне підключення до Інтернету.
  • curl: (35) Помилка підключення SSL – якщо запит не вдається через проблеми з SSL, спробуйте використати -k, щоб обійти перевірку SSL.
  • HTTP 400 Bad Request – це означає, що сервер відхилив запит, часто через неправильний формат даних. Перевірте тип вмісту та корисне навантаження даних.
  • HTTP 401 Unauthorized – виникає, коли автентифікація потрібна, але відсутня або неправильна. Переконайтеся, що ключі API або облікові дані правильно передано за допомогою -u або -H «Авторизація: носій <токен>».

Базовий синтаксис запиту POST

curl -X POST -d "Привіт" https://example.com/api

У цій команді:

  • -X POST визначає тип запиту.
  • -d "Привіт" визначає дані, які надсилаються.
  • https://example.com/api є цільовою URL-адресою.

Налаштування заголовків типу вмісту

curl -X POST -H "Content-Type: text/plain" -d "Hello" https://example.com/api

Додавання -H "Content-Type: text/plain" інформує сервер про те, що форматом даних є звичайний текст.

Надсилання даних JSON

curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://example.com/api

Використання application/json як типу вмісту забезпечує правильну інтерпретацію даних як JSON.

Надсилання даних XML

curl -X POST -H "Content-Type: application/xml" -d '<?xml version="1.0" encoding="UTF-8"?><root><name>John Doe</name><age>30</age></root>' https://example.com/api

Завантаження файлів за допомогою POST

curl -X POST -F "file=@/path/to/img.png" https://example.com/api/upload

Для завантаження декількох файлів:

curl -X POST -F "file=@/path/to/img1.png" -F "file=@/path/to/img2.png" https://example.com/api/upload

Автентифікація за допомогою cURL

curl -u ім'я користувача:пароль https://example.com/login

Замініть ім’я користувача та пароль справжніми обліковими даними.

Висновок

cURL спрощує взаємодію HTTP за допомогою потужних і гнучких параметрів командного рядка. Освоївши запити POST, розробники можуть ефективно керувати зв’язками API, передачею даних і завантаженням файлів. Незалежно від того, чи потрібно вам перевірити кінцеві точки API, автоматизувати надсилання форм або отримати дані з веб-сайтів, cURL надасть легке та ефективне рішення. Продовжуйте експериментувати з cURL, щоб оптимізувати свій робочий процес!

Зверніть увагу, що Plisio також пропонує вам:

Створіть крипторахунки-фактури в 2 кліки and Приймайте криптовалютні пожертви

14 інтеграції

10 бібліотеки для найпопулярніших мов програмування

19 криптовалют і 12 блокчейн

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.