завиток

Как использовать данные публикации cURL из файла

Как использовать данные публикации cURL из файла

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

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

В этом руководстве вы познакомитесь с одной функцией cURL, которая позволяет пользователям выполнять почтовые HTTP-запросы с использованием данных файла.

Прежде чем мы начнем, позвольте мне упомянуть, что это не руководство по cURL для новичков; вам необходимо предварительное ноу-хау, особенно знание сетевых протоколов, HTTP-запросов и т. д.

Прежде чем мы сможем погрузиться в использование cURL для выполнения запросов POST, давайте сначала настроим.

Как установить cURL

В большинстве случаев вы найдете cURL установленным в основных дистрибутивах Linux по умолчанию. Чтобы убедиться, что у вас есть cURL, используйте команду

curl --help

Если вы получили сообщение об ошибке:

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

Вам нужно будет установить его, прежде чем продолжить.

Используйте диспетчер пакетов по умолчанию для завершения установки, как показано в приведенных ниже командах:

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

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

Запрос cURL POST

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

Сейчас:

Пожалуйста, не путайте метод с PUT; хотя они довольно похожи, у них есть свои отличия.

Данные, отправленные с помощью запроса POST, в основном хранятся в теле запроса HTTP-запроса.

Например, рассмотрим приведенный ниже запрос POST, который отправляет имя пользователя и пароль, а также их значения.

POST / с ограничениями / вход.php HTTP / 1.1 хост: linuxhint.com Content-Type: application / x-www-form-urlencoded имя пользователя = linuxhint и пароль = пароль

Чтобы отправить вышеуказанный запрос 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

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

Если вы хотите узнать о типах MIME, обратите внимание на приведенный ниже ресурс:

https: // linkfy.в / IANA-MIME-Типы

Чтобы указать Content-Type в запросе cURL, мы можем использовать флаг -H. Например, отправим MIME Тип приложения / JSON.

curl -X POST -d «имя пользователя»: «linuxhint», «пароль»: «пароль» -H «Content-Type: application / json» https: // linuxhint.com / ограничено / войти.php

Вышеуказанное указывает, что мы хотим отправить объект JSON по указанному URL-адресу. Вы можете использовать это, чтобы прочитать значения из файла JSON или отправить их как сырые.

Как читать данные из файла

Предположим, вы хотите делать запросы в командной строке с помощью cURL, но у вас есть данные для отправки, хранящиеся в файле. Вы можете использовать Content-Type, чтобы указать тип носителя, а затем передать путь к файлу, содержащему данные. В этом примере я проиллюстрирую использование объекта JSON.

Файл JSON (данные.json) содержит следующие значения:


"имя пользователя": "linuxhint",
"пароль": "пароль"

Чтобы отправить эти данные из файла JSON, мы можем использовать -d, а затем передать имя файла, как показано в следующей команде:

curl -X POST -H «Content-Type: 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 и пароль = пароль

Используя команду cURL, просто отправьте запрос как:

curl -X POST -H «Content-Type: text / plain» -d «data.txt »https: // linuxhint.com / ограничено / войти.php

Вы можете использовать другие типы файлов, такие как XML, HTML и многие другие.

Заключение

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

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

Спасибо за чтение и получайте удовольствие от cURL.

Как показать счетчик FPS в играх для Linux
Игры для Linux получили серьезный толчок, когда Valve объявила о поддержке Linux для клиента Steam и своих игр в 2012 году. С тех пор многие игры AAA ...
Как загрузить и играть в Sid Meier's Civilization VI в Linux
Введение в игру Civilization 6 - это современный подход к классической концепции, представленной в серии игр Age of Empires. Идея была довольно просто...
Как установить Doom и играть в него в Linux
Введение в Doom Серия Doom возникла в 90-х годах после выхода оригинальной Doom. Это мгновенно стал хитом, и с тех пор серия игр получила множество на...