Android

Команда curl в linux с примерами

Command Line Shenanigans - Tomfoolery In The Terminal

Command Line Shenanigans - Tomfoolery In The Terminal

Оглавление:

Anonim

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

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

Установка 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

sudo apt update sudo apt install curl

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

sudo yum install curl

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

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

curl

В простейшем виде, когда вызывается без какой-либо опции, curl отображает указанный ресурс в стандартный вывод.

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

curl example.com

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

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

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

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

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

curl -o vue-v2.6.10.js

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

curl -O

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

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

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

curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso \ -O

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

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

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

curl -O

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

curl -C - -O

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

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

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

curl -I --http2

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

curl -L google.com

Изменить User-Agent

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

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

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

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

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

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

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

curl --limit-rate 1m -O

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

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

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

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

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

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

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz

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

curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Отправить куки

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

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

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

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

curl -L -b "oraclelicense=a" -O

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

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

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

curl -x 192.168.44.1:8888

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

curl -U username:password -x 192.168.44.1:8888

Вывод

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

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

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

скручиваемый терминал