Меню

Curl что за валюта



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

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

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

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

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

-# — отображать простой прогресс-бар во время загрузки;
-0 — использовать протокол http 1.0;
-1 — использовать протокол шифрования tlsv1;
-2 — использовать sslv2;
-3 — использовать sslv3;
-4 — использовать ipv4;
-6 — использовать ipv6;
-A — указать свой USER_AGENT;
-b — сохранить Cookie в файл;
-c — отправить Cookie на сервер из файла;
-C — продолжить загрузку файла с места разрыва или указанного смещения;
-m — максимальное время ожидания ответа от сервера;
-d — отправить данные методом POST;
-D — сохранить заголовки, возвращенные сервером в файл;
-e — задать поле Referer-uri, указывает с какого сайта пришел пользователь;
-E — использовать внешний сертификат SSL;
-f — не выводить сообщения об ошибках;
-F — отправить данные в виде формы;
-G — если эта опция включена, то все данные, указанные в опции -d будут передаваться методом GET;
-H — передать заголовки на сервер;
-I — получать только HTTP заголовок, а все содержимое страницы игнорировать;
-j — прочитать и отправить cookie из файла;
-J — удалить заголовок из запроса;
-L — принимать и обрабатывать перенаправления;
-s — максимальное количество перенаправлений с помощью Location;
-o — выводить контент страницы в файл;
-O — сохранять контент в файл с именем страницы или файла на сервере;
-p — использовать прокси;
—proto — указать протокол, который нужно использовать;
-R — сохранять время последнего изменения удаленного файла;
-s — выводить минимум информации об ошибках;
-S — выводить сообщения об ошибках;
-T — загрузить файл на сервер;
-v — максимально подробный вывод;
-y — минимальная скорость загрузки;
-Y — максимальная скорость загрузки;
-z — скачать файл, только если он был модифицирован позже указанного времени;
-V — вывести версию.

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

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

Опция -V или —version выводит не только версию 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):

Если ваш прокси-сервер не требует аутентификации, опцию -U user:qwerty1234 указывать не нужно.

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

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

Для запроса HTTP-заголовков веб-сайта выполните команду с опцией -I:

$ curl -I https://itproffi.ru

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

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 в Linux с примерами

curl — это утилита командной строки для передачи данных с сервера или на сервер, предназначенная для работы без взаимодействия с пользователем. С помощью curl вы можете загружать или выгружать данные, используя один из поддерживаемых протоколов, включая HTTP, HTTPS, SCP , SFTP и FTP . curl предоставляет ряд параметров, позволяющих возобновить передачу, ограничить полосу пропускания, поддержку прокси, аутентификацию пользователя и многое другое.

Читайте также:  Код валюты по океи 383

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

Установка Curl

Сегодня пакет curl предустановлен в большинстве дистрибутивов Linux.

Чтобы проверить, установлен ли пакет Curl в вашей системе, откройте консоль, введите curl и нажмите Enter. Если у вас установлен curl , система напечатает curl: try ‘curl —help’ or ‘curl —manual’ for more information . В противном случае вы увидите что-то вроде curl command not found .

Если curl не установлен, вы можете легко установить его с помощью диспетчера пакетов вашего дистрибутива.

Установите Curl в Ubuntu и Debian

Установите Curl на CentOS и Fedora

Как использовать Curl

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

В простейшей форме при вызове без каких-либо параметров curl выводит указанный ресурс на стандартный вывод.

Например, чтобы получить домашнюю страницу example.com вы должны запустить:

Команда напечатает исходный код домашней страницы example.com в окне вашего терминала.

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

Сохранить вывод в файл

Чтобы сохранить результат команды curl , используйте параметр -o или -O .

vue-v2.6.10.js -o сохраняет файл с предопределенным именем файла, которым в приведенном ниже примере является vue-v2.6.10.js :

Верхний регистр -O сохраняет файл с исходным именем:

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

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

В следующем примере мы загружаем iso-файлы Arch Linux и Debian:

Возобновить загрузку

Вы можете возобновить загрузку, используя параметр -C — . Это полезно, если ваше соединение прерывается во время загрузки большого файла, и вместо того, чтобы начинать загрузку с нуля, вы можете продолжить предыдущую.

Например, если вы загружаете iso-файл Ubuntu 18.04 с помощью следующей команды:

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

Получить HTTP-заголовки URL-адреса

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

Используйте параметр -I чтобы получить только HTTP-заголовки указанного ресурса:

Проверьте, поддерживает ли веб-сайт HTTP / 2

Чтобы проверить, поддерживает ли конкретный URL новый протокол HTTP / 2 , —http2 заголовки HTTP с помощью -I вместе с параметром —http2 :

Параметр -s указывает curl работать в автоматическом (тихом) режиме и скрывать индикатор выполнения и сообщения об ошибках.

Если удаленный сервер поддерживает HTTP / 2, curl печатает HTTP/2.0 200 :

В противном случае ответ будет HTTP/1.1 200 :

Читайте также:  Когда узбекистан ввел свою валюту

Если у вас curl версии 7.47.0 или новее, вам не нужно использовать параметр —http2 поскольку HTTP / 2 включен по умолчанию для всех соединений HTTPS.

Следить за перенаправлениями

По умолчанию curl не следует за заголовками HTTP Location.

Если вы попытаетесь получить версию google.com без www, вы заметите, что вместо получения источника страницы вы будете перенаправлены на версию с www:

Параметр -L указывает curl следовать любому перенаправлению, пока не достигнет конечного пункта назначения:

Сменить User-Agent

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

В подобных ситуациях для эмуляции другого браузера используйте параметр -A .

Например, для эмуляции Firefox 60 вы должны использовать:

Укажите максимальную скорость передачи

Параметр —limit-rate позволяет ограничить скорость передачи данных. Значение может быть выражено в байтах, килобайтах с суффиксом k , мегабайтах с суффиксом m и гигабайтах с суффиксом g .

В следующем примере curl загрузит двоичный файл Go и ограничит скорость загрузки до 1 МБ:

Эта опция полезна для предотвращения использования curl всей доступной полосы пропускания.

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

Чтобы получить доступ к защищенному FTP-серверу с помощью curl , используйте параметр -u и укажите имя пользователя и пароль, как показано ниже:

После входа в систему команда выводит список всех файлов и каталогов в домашнем каталоге пользователя.

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

Чтобы загрузить файл на FTP-сервер, используйте -T за которым следует имя файла, который вы хотите загрузить:

Отправить файлы cookie

Иногда вам может потребоваться выполнить HTTP-запрос с определенными файлами cookie для доступа к удаленному ресурсу или для отладки проблемы.

По умолчанию при запросе ресурса с помощью curl файлы cookie не отправляются и не сохраняются.

Чтобы отправить файлы cookie на сервер, используйте переключатель -b за которым следует имя файла, содержащего файлы cookie, или строку.

Например, чтобы загрузить rpm-файл Oracle Java JDK jdk-10.0.2_linux-x64_bin.rpm вам необходимо передать файл cookie с именем oraclelicense со значением a :

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

curl поддерживает различные типы прокси, включая HTTP, HTTPS и SOCKS. Для передачи данных через прокси-сервер используйте параметр -x ( —proxy ), за которым следует URL-адрес прокси.

Следующая команда загружает указанный ресурс с помощью прокси на 192.168.44.1 порт 8888 :

Если прокси-сервер требует аутентификации, используйте параметр -U ( —proxy-user ), за которым следует имя пользователя и пароль, разделенные двоеточием ( user:password ):

Выводы

curl — это инструмент командной строки, который позволяет передавать данные с удаленного хоста или на него. Это полезно для устранения неполадок, загрузки файлов и многого другого.

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

Для получения дополнительной информации о curl посетите страницу документации по Curl .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник