завивати

Як використовувати дані курсової публікації з файлу

Як використовувати дані курсової публікації з файлу

cURL - це безкоштовна утиліта командного рядка з відкритим кодом, що використовується для передачі даних на віддалений хост або з віддаленого хосту з мінімальною взаємодією користувача. cURL працює з основними протоколами, такими як HTTP, FTP, SCP та SFTP.

Це дозволяє користувачам завантажувати та завантажувати дані за допомогою окремих команд або скриптів bash. Він також надає такі функції, як автентифікація користувача, тунелювання проксі, резюме завантаження, завантаження на основі форми, сертифікати SSL та багато іншого. Можна з упевненістю сказати, що cURL - це більше, ніж HTTP-клієнт.

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

Перш ніж розпочати, дозвольте мені згадати, що це не посібник для курсівів для початківців; вам потрібна певна кількість попередніх ноу-хау, особливо знання мережевих протоколів, HTTP-запитів тощо.

Перш ніж ми зможемо заглибитися у використання curl для виконання запитів POST, давайте спершу налаштуємось.

Як встановити cURL

У більшості випадків ви знайдете cURL, встановлений у основних дистрибутивах Linux за замовчуванням. Щоб підтвердити, що у вас є curl, використовуйте команду

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

Якщо ви отримуєте повідомлення про помилку:

-bash: curl: команду не знайдено

Вам потрібно буде встановити його перед тим, як продовжити.

Використовуйте менеджер пакунків за замовчуванням, щоб завершити встановлення, як показано в командах нижче:

sudo apt-get update
sudo apt-get install curl -y

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

Запит на курсове повідомлення

Запит на повідомлення HTTP - один із найпопулярніших методів запиту HTTP / HTTPS, який використовується для надсилання даних на віддалений хост для створення або оновлення ресурсу.

Зараз:

Будь ласка, не плутайте метод з PUT; хоча вони досить схожі, вони мають свої відмінності.

Дані, надіслані за допомогою запиту POST, в основному зберігаються в тілі запиту HTTP-запиту.

Наприклад, розглянемо наведений нижче запит POST, який надсилає ім’я користувача та пароль, а також їх значення.

POST / обмежений / логін.php HTTP / 1.1 Ведучий: linuxhint.com Тип вмісту: application / x-www-form-urlencoded username = linuxhint & password = password

Щоб надіслати вищезазначений запит POST за допомогою cURL, ми можемо вказати команди як:

curl -x POST -d “ім’я користувача = linuxhint & пароль = пароль” https: // linuxhint.com / обмежено / логін.php

У наведеній вище команді ми використовували опцію -d, щоб сказати cURL включити заголовки за замовчуванням, а саме Content-Type: application / x-www-form-urlencoded

Параметр -X визначає метод запиту HTTP для використання, в даному випадку, запиту HTTP POST.

cURL Вкажіть тип вмісту

У деяких випадках ми можемо захотіти вказати [явно] Тип вмісту під час надсилання запиту. Сутність Content-Type у заголовку визначає тип носія ресурсу, який ми надсилаємо. Тип носія також широко відомий як тип MIME.

Якщо ви хочете дізнатись про типи MIME, розгляньте поданий нижче ресурс:

https: // linkfy.до / IANA-MIME-типів

Щоб вказати тип вмісту в запиті curl, ми можемо використовувати прапор -H. Наприклад, надішлімо тип програми MIME / JSON.

curl -X POST -d “ім’я користувача”: “linuxhint”, “пароль”: “пароль” -H “Тип вмісту: application / json” https: // linuxhint.com / обмежено / логін.php

Вище зазначено, що ми хочемо надіслати об’єкт JSON за вказаною URL-адресою. Ви можете використовувати це, щоб прочитати значення з файлу JSON або надіслати його як необроблений.

Як читати дані з файлу

Припустимо, ви хочете робити запити в командному рядку за допомогою cURL, але у вас є дані для надсилання, що зберігаються у файлі. Ви можете використовувати Content-Type, щоб вказати тип носія, а потім передати шлях до файлу, що містить дані. У цьому прикладі я проілюструю використання об'єкта JSON.

Файл JSON (дані.json) містить такі значення:


"username": "linuxhint",
"password": "пароль"

Щоб надіслати ці дані з файлу JSON, ми можемо використовувати -d, а потім передати ім'я файлу, як показано в команді нижче:

curl -X POST -H “Тип вмісту: application / json” -d “@data.json ”https: // linuxhint.com / обмежено / логін.php

Ви також можете використовувати параметр -data-binary.

curl -X POST -H “Content-Type: application / json” --data-binary “@ / home / user / data.json ”https: // linuxhint.com / обмежено / логін.php

Ви також можете використовувати текстовий файл для надсилання даних; потрібно лише вказати Content-Type як text / plain.

Наприклад, текстовий файл (дані.txt), що містить наступні значення

ім'я користувача = linuxhint & password = пароль

За допомогою команди cURL просто надішліть запит як:

curl -X POST -H “Тип вмісту: текст / звичайний” -d “дані.txt ”https: // linuxhint.com / обмежено / логін.php

Ви можете використовувати інші типи файлів, як-от XML, HTML та багато іншого.

Висновок

У цьому підручнику ми обговорили, як робити запити POST та передавати дані у різних форматах. Добре мати на увазі, що окрім того, що дуже потужний, cURL також є дуже гнучким. Він може поєднувати колекцію параметрів в одній команді для створення потужних запитів. Для отримання додаткової інформації я рекомендую документацію cURL, оскільки вона добре написана.

https: // завиток.se / docs /

Дякуємо за читання та отримуйте задоволення від curL.

Кращі програми для картографування геймпадів для Linux
Якщо ви любите грати в ігри на Linux із геймпадом замість типової системи введення клавіатури та миші, є кілька корисних програм для вас. Багато ігор ...
Корисні інструменти для геймерів Linux
Якщо ви любите грати в ігри на Linux, швидше за все, ви, можливо, використовували додатки та утиліти, такі як Wine, Lutris та OBS Studio, щоб покращит...
HD Remastered Games для Linux, які раніше ніколи не випускали Linux
Багато розробників і видавців ігор випускають HD-ремастер старих ігор, щоб продовжити життя франшизи. Будь ласка, шанувальники просять сумісність із с...