Что такое curl в линукс

Команда curl. Синтаксис. Примеры использования

Сurl – утилита командной строки для скачивания и загрузки данных. Она выросла из проекта шведского программиста Даниэля Стенберга. Изначально в середине 90-х, на заре развития Интернета, он разрабатывал бота, который должен был загружать с веб-страницы курсы валют и сообщать пользователям IRC эквивалент шведских крон в долларах США. Со временем проект развивался, появлялась поддержка различных протоколов и новые функции. Теперь curl используется для передачи любых данных и ряда других полезных задач. Рассмотрим основные моменты работы с этим инструментом.

Синтаксис и опции curl

Синтаксис команды следующий:

В качестве аргумента задается, как правило, URL скачиваемого файла. Основные опции перечислены ниже

Основные опции мы рассмотрим на простых примерах.

Просмотр версии curl

Если вам требуется скачать файл, запустите curl с опцией –O или –o. Первая из них сохраняет файл в текущей рабочей директории под тем же именем, что и в удаленном месторасположении. Вторая опция позволяет вам указать другое имя и/или место для скачивания.

Cохранение файла под исходным именем (yourfile) в текущей рабочей директории.

Cохранение файла под именем newfile в директории /tmp/examplе/.

Возобновление прерванной загрузки

Если скачивание по какой-то причине было прервано (например, пользователь нажал Ctrl+C), вы легко можете возобновить его с момента остановки при помощи опции -C – (дефис, С, тире):

Скачивание нескольких файлов

Следующая команда позволит вам скачать info.html с http://yoursite.com и about.html c http://mysite.com в один прием:

Если использовать curl вместе с командой xargs, можно скачивать файлы в соответствии со списком URL, заданном в файле (в данном примере listurls.txt):

Использование прокси-сервера

Если вы подключены через прокси-сервер, нужно указать его команде curl при помощи следующих опций (в данном примере имя сервера proxy.yourdomain.com, порт 8080, имя пользователя user, пароль qwerty1234):

Запрос HTTP-заголовков

HTTP-заголовки позволяют удаленному веб-серверу помимо ответа на сам запрос отправлять дополнительную информацию. Она предоставляет клиенту данные о том, как обрабатывать ответ:

Также эту информацию можно получить, воспользовавшись функциями браузера для разработчиков.

cURL POST-запросы с параметрами

Следующая команда отправит на https://yourdomain.com/info.php параметры firstName и lastName с соответствующими значениями:

Этим приемом можно пользоваться для симуляции работы обычных веб-форм.

Следующая команда скачивает в текущую рабочую директорию файл yourfile с удаленного FTP-сервера ftp://yourftpserver (имя пользователя user, пароль qwerty1234):

Если FTP-сервер поддерживает анонимный вход, параметр –u с именем пользователя и пароля указывать не нужно.

Загрузка файлов на FTP-сервер

Для загрузки локального файла mylocalfile.tar.gz воспользуйтесь следующей командой:

Указание агента пользователя

Агент пользователя – часть информации HTTP-запроса. Она показывает, каким браузером пользуется клиент. Можно посмотреть, что имеющаяся версия curl передает по умолчанию и установить новое значение:

Запись файлов cookie с веб-сайта

Хотите посмотреть, какие файлы cookie скачиваются на ваш компьютер, когда вы заходите на определенный сайт? Опция —cookie-jar сохраняет их список в файл, который в дальнейшем можно просмотреть при помощи команды cat.

Отправка файлов cookie на сайт

Полученные в предыдущем примере файлы cookie можно использовать в дальнейших запросах к тому же самому сайту:

Изменение разрешения имен

Если вы веб-разработчик и хотите протестировать локальную версию сайта, прежде чем загружать его на сервер, при помощи опции —resolve можно указать curl выполнять разрешение имени вашего сайта на адрес локального узла, например:

Таким образом, при запросе на http://www.yourdomain.com curl будет запрашивать сайт с локального узла, а не использовать DNS или файл /etc/hosts.

Ограничение скорости скачивания

Чтобы curl не занимал всю пропускную способность канала, можно ограничить скорость скачивания при помощи опции —limit-rate:

Заключение

Мы рассмотрели краткую историю появления curl и наиболее характерные примеры применения этой команды. Для более подробной информации можно обратиться к соответствующей man-странице.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Что Такое Curl. Как работает команда Curl: определение и примеры

Что такое curl?

На самом деле, curl – это больше чем просто утилита командной строки для Linux или Windows. Это набор библиотек, в которых реализуются базовые возможности работы с URL страницами и передачи файлов. Библиотека поддерживает работу с протоколами: FTP, FTPS, HTTP, HTTPS, TFTP, SCP, SFTP, Telnet, DICT, LDAP, а также POP3, IMAP и SMTP. Она отлично подходит для имитации действий пользователя на страницах и других операций с URL адресами.

Поддержка библиотеки curl была добавлена в множество различных языков программирования и платформ. Утилита curl – это независимая обвертка для этой библиотеки. Именно на этой утилите мы и остановимся в этой статье.

Команда curl

Перед тем как перейти к описанию того как может использоваться команда curl linux, давайте разберем саму утилиту и ее основные опции, которые нам понадобятся. Синтаксис утилиты очень прост:

$ curlопции ссылка

Теперь рассмотрим основные опции:

Это далеко не все параметры curl linux, но здесь перечислено все основное, что вам придется использовать.

Команда Curl для Работы с Файлами

Команды Curl могут загружать файлы из удалённой локации. Есть два способа это сделать:

Приведённая выше команда сохранит файл как testfile.tar.gz.

А эта команда сохранит его как newtestfile.tar.gz.

Если по какой-либо причине загрузка будет прервана, вы можете возобновить её с помощью следующей команды:

Curl также позволяет загрузить несколько файлов одновременно. Пример:

Если вы хотите загрузить несколько файлов с нескольких URL, перечислите их все в файле. Команды Curl могут быть объединены с xargs для загрузки различных URL-адресов.

Например, если у нас есть файл allUrls.txt, который содержит список всех URL-адресов для загрузки, то приведённый ниже пример выполнит загрузку всех файлов с этих URL.

Curl также можно использовать c прокси-сервером. Если вы находитесь за прокси-сервером, прослушивающим порт 8090 на sampleproxy.com, загрузите файлы, как показано ниже:

В приведённом выше примере вы можете выбросить -U username:password, если прокси-сервер не требует метода аутентификации.

Типичный HTTP-запрос всегда содержит заголовок. Заголовок HTTP отправляет дополнительную информацию об удалённом веб-сервере вместе с фактическим запросом. С помощью инструментов разработчика в браузере вы можете посмотреть сведения о заголовке, а проверить их можно с помощью команды curl.

Пример ниже демонстрирует, как получить информацию о заголовке с веб-сайта.

Используя curl, вы можете сделать запрос GET и POST. Запрос GET будет выглядеть следующим образом:

А вот пример запроса POST:

curl –data “text=Hello” https://myDomain.com/firstPage.jsp

Здесь text=Hello — это параметр запроса POST. Такое поведение похоже на HTML-формы.

Вы также можете указать несколько методов HTTP в одной команде curl. Сделайте это, используя опцию –next, например:

curl –data “text=Hello” https://myDomain.com/firstPage.jsp –next https://myDomain.com/displayResult.jsp

Команда содержит запрос POST, за которым следует запрос GET.

Каждый HTTP-запрос содержит агент пользователя, который отправляется как часть запроса. Он указывает информацию о браузере клиента. По умолчанию запрос содержит curl и номер версии в качестве информации об агенте пользователя. Пример вывода показан ниже:

“GET / HTTP/1.1” 200 “_” ”curl/7/29/0”

Вы можете изменить дефолтную информацию об агенте пользователя, используя следующую команду:

Теперь вывод будет выглядеть так:

“GET / HTTP/1.1” 200 “_” ”My new Browser”

Команда Curl и Cookies

Утилиту можно использовать для проверки того, какие файлы cookie загружаются по URL. Допустим вы зашли на https://www.samplewebsite.com, вы можете вывести и сохранить файлы cookie в файл, а затем получить к ним доступ, используя команду cat или редактор Vim.

Вот пример такой команды:

Точно так же, если у вас есть файлы cookie в файле, вы можете отправить их на сайт. Вот, как это будет выглядеть:

curl –cookie Mycookies.txt https://www. samplewebsite.com

Curl и FTP

Утилита поддерживает FTP! Вы можете использовать её для загрузки файлов с удалённого сервера.

В приведённой выше команде ftp://sampleftpserver — это FTP-сервер, который принимает соединения. Вы можете не указывать имя пользователя и пароль для анонимных FTP-соединений. Введите команду и посмотрите, как заполняется индикатор выполнения.

Вы также можете загружать файлы с помощью этой команды:

Опять же таки, мы можем пропустить имя пользователя и пароль для анонимных FTP-соединений.

Ограничение Скорости Скачивания

Скачивая или загружая данные с помощью Curl, вы не можете знать, насколько большим будет вывод. Вы можете ограничить скорость скачивания, чтобы убедиться, что Curl не ограничивает пропускную способность канала.

Команда ниже ограничивает скорость скачивания до 100К:

Основной Синтаксис Команды Curl

Итак, давайте узнаем, как пользоваться утилитой. Основной синтаксис Curl выглядит следующим образом:

Самый простой пример использования Curl — для отображения содержимого страницы. Приведённая ниже команда отобразит домашнюю страницу testdomain.com.

Эта команда отобразит полный исходный код домашней страницы домена. Если протокол не указан, Curl интерпретирует его как HTTP.

Как пользоваться curl?

Мы рассмотрели все, что касается теории работы с утилитой curl, теперь пришло время перейти к практике, и рассмотреть примеры команды curl.

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

Самая частая задача – это загрузка файлов linux. Скачать файл очень просто. Для этого достаточно передать утилите в параметрах имя файла или html страницы:

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

Но тут вас ждет одна неожиданность, все содержимое файла будет отправлено на стандартный вывод. Чтобы записать его в какой-либо файл используйте:

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

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

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

Если нужно, одной командой можно скачать несколько файлов:

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

Еще одна вещь, которая может быть полезной администратору – это загрузка файла, только если он был изменен:

Данная команда скачает файл, только если он был изменен после 21 декабря 2017.

Ограничение скорости

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

Передача файлов

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

Или проверим отправку файла по HTTP, для этого существует специальный сервис:

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

В ответе утилита сообщит где вы можете найти загруженный файл.

Отправка данных POST

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

Здесь мы передаем формой поле password, с типом обычный текст, точно так же вы можете передать несколько параметров.

Передача и прием куки

Затем можно отправить cookie curl обратно:

Передача и анализ заголовков

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

Аутентификация curl

Точно так же будет выполняться аутентификация на серверах HTTP.

Использование прокси

Примеры использования cURL в PHP

GET запрос

$ch = curl_init(‘https://vk.com’);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);

POST запрос

$array = array(
‘login’ => ‘admin’,
‘password’ => ‘1234’
);

// Или предать массив строкой:
// curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($array, ”, ‘&’));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);

file_get_contents() так же умеет отправлять POST запросы:

PUT запрос

$ch = curl_init(‘https://cloud-api.yandex.net/v1/disk/’);
curl_setopt($ch, CURLOPT_PUT, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);

DELETE запрос

HTTP-метод DELETE используется в REST API для удаления объектов.

$ch = curl_init(‘http://site.com/delete/999’);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, ‘DELETE’);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_exec($ch);
curl_close($ch);PHP5

Скачивание файлов

Curl позволяет сохранить результат сразу в файл, указав указатель на открытый файл в параметре CURLOPT_FILE.

$ch = curl_init(‘http://yandex.ru’);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);

Отправка файлов на другой сервер

Отправка файлов осуществляется методом POST:

С PHP 5.5 такой метод загрузки файлов вызывает ошибку, поэтому следует применять CURLFile.

Также через curl можно отправить сразу несколько файлов:

Еще файлы можно отправить методом PUT, например так загружаются файлы в REST API Яндекс Диска.

8 примеров использования cURL вместе с PHP

1. Проверяем доступность определённого веб сайта

Как узнать, доступен ли определённый веб сайт? cURL поможет ответить на данный вопрос. Данный скрипт можно использовать совместно с планировщиком для мониторинга сайта.

Замените URL в строке 3 на тот, который вам нужен. Скопируйте код на свою страницу, и станет известно, доступен ли указанный сайт.

2. Замена cURL для функции file_get_contents()

Функция file_get_contents() очень полезная, но на многих хостингах она отключена. С помощью cURL можно написать функцию, которая будет работать в точности как file_get_contents().

function file_get_contents_curl($url) <
$ch = curl_init();

$data = curl_exec($ch);
curl_close($ch);

3. Получаем последний статус Twitter

С помощью PHP и cURL очень просто получить статус определённого пользователя. Данную информацию можно выводить в блоге.

Использовать функцию очень просто:

4. Twitter: проверяем отношения между двумя пользователями

Если вам нужно узнать, читает ли ваши твиты определенный пользователь, то можно задействовать API Twitter. Данный скрипт выводит true, если два пользователя, указанные на строчках 17 и 18, находятся в дружеских отношениях на Twitter. В противном случае возвращается false.

/* Персоны для проверки */
$person1 = ‘phpsnippets’;
$person2 = ‘catswhocode’;

/* Отправляем запрос на twitter */
$url = ‘https://api.twitter.com/1/friendships/exist’;
$format = ‘xml’;

5. Загружаем и сохраняем изображения со страницы с помощью cURL

Данная функция может быть очень полезна: задаем ей URL страницы и она сохраняет все изображения с нее на вашем сервере.

function getImages($html) <
$matches = array();
$regex = ‘

while ($i 6. Конвертируем валюту с помощью cURl и Google

Пересчет валюты достаточно простое дело, но курсы достаточно часто изменяются, поэтому приходится использовать сервисы, подобные Google, для получения текущих значений курса пересчета. Функция currency() получает 3 параметра: исходная валюта, целевая валюта и сумма.

7. Получаем информацию о размере файла с помощью cURL

Как определить размер определенного файла, расположенного на другом сервере? Поможет следующая функция. Она получает 3 параметра: URL файла, и (если требуется) имя пользователя и пароль.

$ok = curl_exec($ch);
curl_close($ch);
$head = ob_get_contents();
ob_end_clean();

8. Загрузка через FTP с помощью cURL

PHP имеет библиотеку FTP library, но также можно использовать cURL для загрузки файлов на FTP сервер. Вот рабочий пример:

// Открываем файл
$file = fopen(“/path/to/file”, “r”);

// URL содержит большую часть нужной информации
$url = “ftp://username:password@mydomain.com:21/path/to/new/file”;

// Устанавливаем режим ASCII (то есть – файл текстовой)
curl_setopt($ch, CURLOPT_FTPASCII, 1);

$output = curl_exec($ch);
curl_close($ch);

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://www.catswhocode.com/blog/amazing-things-to-do-with-php-and-curl
Перевел: Сергей Фастунов
Урок создан: 14 Февраля 2012
Просмотров: 124011
Правила перепечатки

5 последних уроков рубрики “PHP”

Совет: отправка информации в Google Analytics через API

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц

Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии, оценивать уроки и сохранять их в личном кабинете

Источник

Что такое Curl? Как работает эта команда?

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

Curl — это кроссплатформенная служебная программа с открытым исходным кодом, популярный инструмент командной строки и библиотека для передачи данных с URL-адресами. Утилита доступна в большинстве систем на основе Unix.

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

Практически каждый человек, пользующийся интернетом, незаметно для себя работает с Curl ежедневно. Веб-разработчики также активно используют эту утилиту в процессе своей повседневной отладки.

В этой статье мы рассмотрим весь широкий спектр возможностей этой известной утилиты.

Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс

1. Что такое Curl?

Curl является сокращением от Client URL (клиентский URL). Это свободное программное обеспечение, которое позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL через командную строку. Оно также включает в себя библиотеку libcurl (библиотека API для взаимообмена данными), которую можно встраивать в другие приложения.

С помощью этого ПО реализуются базовые возможности работы с URL-страницами и передачи файлов. Программа поддерживает работу с такими протоколами, как DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET и TFTP, поддерживает сертификаты SSL, методы HTTP POST, HTTP PUT, загрузку на FTP, загрузку через формы HTTP, HTTP-Cookie, туннелирование через HTTP-прокси, методы логин+пароль аутентификации (базовый, дайджест, NTLM, Negotiate, Kerberos, CRAM-MD5, SCRAM-SHA).

2. Возможности Curl

Еще раз повторюсь, что Curl — это программа, работающая в командной строке, позволяющая выполнять HTTP-запросы. При этом взаимодействие можно контролировать различными параметрами и методами. Обычные пользователи чаще всего взаимодействуют с интернетом посредством браузеров (приложений для протокола HTTP/HTTPS), специализированных FTP-клиентов, торрентов и так далее.

С помощью Curl можно получить ту же служебную информацию, что получают все эти клиенты, в виде текста для, например, задач отладки. По факту, единственная функция программы — сделать запрос в интернет по заданному протоколу и получить ответ, тщательно запротоколировав весь процесс взаимодействия с сервером/приложением.

3. Как работает Curl?

Итак, Curl — программа простая, но универсальная. Различные варианты ее использования контролируются параметрами, которые указываются в командной строке при вызове утилиты. Команда схематически выглядит следующим образом:

Получается, что если пользователь введет текст без опций, то программа просто отобразит содержимое веб-страницы в виде исходного кода. Например:

Стоит отметить, что программа по умолчанию определяет протокол страницы как HTTP.

А вот с помощью опций (параметров) можно заставить Curl делать всякие разные и очень специфические вещи. Перед тем как разбираться со всеми особенностями, предлагаю пройтись по списку наиболее используемых и полезных опций.

Основные опции Curl:

4. Установка Curl

Работу с Curl поддерживают системы Unix/Linux. В большинстве современных ОС Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линукс Что такое curl в линукс. Смотреть фото Что такое curl в линукс. Смотреть картинку Что такое curl в линукс. Картинка про Что такое curl в линукс. Фото Что такое curl в линуксмногие дистрибутивы Linux, современные версии macOS, Windows 10 утилита установлена по умолчанию.

Установка на Linux

В Ubuntu или Debian для установки Curl нужно в командной строке ввести команду:

Для проверки статуса установки и текущей версии:

Если вы работаета в RHEL, CentOS или Fedora, то для установки необходимо войти через SSH от имени пользователя root и выполнить команду:

Для проверки статуса установки и текущей версии:

Установка Curl в OpenSUSE:

Установка Curl в ArchLinux:

Для справки

В разных дистрибутивах в командную строку можно попасть по-разному. К примеру, в Ubuntu используются такие комбинации:

Установка на macOS

В macOS Curl практически со стопроцентной вероятностью уже предустановлена. Для того, чтобы проверить версию утилиты на своем устройстве, нужно войти в «Терминал» (используйте комбинацию Cmd+spacebar для открытия Spotlight, а затем введите Terminal). В командной строке нужно ввести:

Если по какой-то причине утилита отсутствует, то можно посетить страницу загрузки на официальном сайте: https://curl.se/download.html. Качаете необходимую версию и устанавливаете вручную. Не знаете, что качать? Загружайте Curl Download Wizard и просто следуйте его инструкциям. На сайте также присутствует различная документация, справочная информация и другие полезные для начинающих разделы разделы.

Установка на Windows

5. Как пользоваться Curl? Примеры

Как уже было сказано выше, без указания дополнительных опций команда Curl отображает содержимое веб-страницы в виде исходного кода в средстве просмотра по умолчанию. Чтобы совершать другие действия, необходимо использовать дополнительные аргументы. Рассмотрим самые распространенные варианты использования Curl.

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

Ограничение скорости

Также существует опция для ограничения скорости загрузки до необходимого предела, чтобы не перегружать сеть. Значение указывается в килобайтах в секунду:

Передача файлов

С помощью Curl файлы можно не только скачивать, но и загружать на FTP-серверы.

Отправка данных POST

Примечание: данные в кавычках необходимо кодировать самостоятельно, например, для того, чтобы в строке отобразился пробел, прописывается значение %20.

Передача и прием cookie

Передача и анализ заголовков

Использование прокси

Игнорирование ошибки неправильных или самоподписанных сертификатов

Другие применения Curl

В линуксоподобных системах для поиска информации и файлов, а также других интересных действий, используются регулярные выражения. Утилита Curl также может с ними взаимодействовать, например, в связке с утилитой grep.

Также Curl можно легко использовать внутри языков программирования. Например для вызова утилиты в Python существует несколько способов:

Итоги

Итак, Curl — это действительно простая, но мощная и универсальная утилита Linux, Windows и macOS для доступа к интернету без браузера, загрузки исходного кода сайтов, отправки POST-запросов, тестирования API, имитации действий сетевых пользователей сервисов и так далее.

По своей сути она похожа на свободную неинтерактивную консольную программу для загрузки файлов по сети wget, но со своими особенностями, о которых мы сегодня поговорили. Curl поддерживает множество протоколов, а огромный набор опций позволяет придумать для нее сотни вариантов использования.

Как правильно удалить большое количество файлов из папки на Linux’e

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *