Curl linux что это

Обновлено: 07.07.2024

Что такое Curl? Curl — это сокращение от “Client URL”. Утилита доступна в большинстве систем на основе Unix и предназначена для проверки подключения к URL-адресам. Кроме того команда Curl — отличный инструмент передачи данных. Давайте же узнаем, как ею пользоваться.

Команда Curl поддерживает следующий список протоколов:

Это наиболее важные поддерживаемые протоколы, но есть и другие. Curl работает на libcurl, которая является бесплатной библиотекой для передачи URL на стороне клиента.

Прокачайте ваш проект, воспользовавшись скидками на VPS-хостинг в Hostinger! Большой выбор планов, как для учебных, так и для крупных коммерческих проектов.

Проверка Версии Curl

Прежде чем мы начнём работать с Curl, нам нужно войти в наш VPS. Если вам нужна помощь, ознакомьтесь с этим руководством по SSH.

Сначала давайте проверим её доступною версию, с помощью следующей команды:

В выводе вы должны увидеть версию и список поддерживаемых протоколов. Теперь мы можем взглянуть на некоторые примеры команд Curl.

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

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

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

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

  • -O сохранит файл в текущем рабочем каталоге с тем же именем, что и у удалённого;
  • -o позволяет указать другое имя файла или местоположение.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Команда Curl и Cookies

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

Curl и FTP

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

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

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

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

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

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

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

Выводы

В этом руководстве мы рассказали вам, что такое curl, а также, как использовать эту мощную утилиту для скачивания и загрузки данных. Если вы работаете с командной строкой, то вам стоит научиться пользоваться этой командой. На самом деле Curl — это не просто утилита командной строки для Linux или Windows. Она имеет много вариантов применения и поддерживает разные протоколы.

И помните, если вам нужна помощь или вы хотите узнать более сложные команды Curl, вы всегда можете обратиться к руководству, которое должно быть во всех версиях Unix:

Мы надеемся, что это руководство станет для вас отправной точкой в использовании этой утилиты. И не забудьте рассказать нам о своём опыте работы с ней в комментариях!

Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.

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

Установка Curl

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

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

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

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

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

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

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

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

Чтобы сохранить результат команды 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 с помощью следующей команды:

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

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

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

Сменить User-Agent

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выводы

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

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

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

Если установочный скрипт выдаёт ошибку: bash: curl: command not found или bash: curl: команда не найдена. Это значит что такой команды нет в вашей системе. Решение простое – установить утилиту curl. Эта утилита для скачивания файлов хоть и не так популярна, как wget, но может предоставить больше возможностей, а также имеет в своём составе библиотеку, которую можно подключить к другим программам.

Мы рассмотрим как установить curl в Ubuntu 20.04. Но инструкция будет актуальна и для более новых или старых версий дистрибутива.

Установка curl в Ubuntu

uIWd1ftTdXAAAAAElFTkSuQmCC

sudo apt update

sudo apt install curl

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

B3qHpbFDKBjBAAAAAElFTkSuQmCC

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

8C33BOZkFHwtAAAAAASUVORK5CYII=

О других аргументах и способах их использования можете узнать в нашем материале.

Выводы

Утилита curl получила широкое распространение. Она доступна на всех актуальных настольных операционных системах. В Ubuntu 20.04 утилита не предустановлена, но доступна в репозитории и теперь вы знаете как выполняется установка curl Ubuntu.

Описанная ошибка чаще всего встречается только на недавно установленном дистрибутиве. Так как библиотека libcurl используется большим количеством приложений и рано или поздно будет установлена в вашей системе вместе с curl.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Команда Curl в Linux с примерами


Установка Curl

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

Чтобы проверить, установлен ли пакет Curl в вашей системе, откройте консоль, введите curl и нажмите клавишу ввода. Если вы 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 отображает указанный ресурс для стандартного вывода.


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

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

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


Прописные буквы -O сохраняют файл с исходным именем файла:

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

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


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

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

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


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




Следуйте перенаправлениям



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


Изменить User-Agent

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

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

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


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

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

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


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


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

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


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

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


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

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

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


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

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


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


Вывод

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

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

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

Читайте также: