Curl Linux что это такое

Обновлено: 30.06.2024

В основе команды curl лежит библиотека разработки libcurl, которая имеет привязки практически для любой кодовой базы.

cURL – это также название программного проекта, который включает в себя инструмент командной строки curl и библиотеку разработки libcurl.

Предпосылки

Чтобы опробовать команды из этой статьи, вам потребуется командная оболочка и доступ в Интернет. Мы собираемся использовать API NASA APOD (Astronomy Picture Of The Day) для создания нескольких примеров. Этот API с открытым исходным кодом, но вам нужно будет зарегистрироваться для получения ключа разработчика, что займет всего минуту.

Зачем использовать завиток?

Итак, почему вы должны использовать cURL? Рассмотрим следующие преимущества этого программного проекта:

  • Он очень портативный. Он совместим практически со всеми операционными системами и подключенными устройствами.
  • Это полезно для тестирования конечных точек, чтобы проверить, работают ли они.
  • Он может быть подробным, предоставляя подробную информацию о том, что именно было отправлено/получено, что полезно для отладки.
  • У него хорошая регистрация ошибок.
  • Скорость может быть ограничена.

Отправка запросов API

Мы можем использовать curl для отправки запросов API. Каждый запрос обычно состоит из четырех основных частей:

    Конечная точка, которая представляет собой адрес (URL), на который мы отправляем запрос.
  • GET используется для получения ресурса с сервера. Это может быть файл, информация или изображение.
  • POST используется для отправки информации на сервер.
  • PUT можно использовать для создания или обновления ресурса. Это можно использовать для создания или обновления записи в базе данных или обновления содержимого файла.

DELETE используется для удаления ресурса, например записи базы данных.

Эти действия для этих методов являются рекомендуемыми действиями, но то, что именно происходит, зависит от спецификации и реализации API.

Заголовки, которые содержат метаданные о запросе, такие как тип контента, пользовательский агент и т. д.

Body, которое представляет собой тело сообщения и содержит данные, которые мы хотим отправить, если таковые имеются. Как правило, тело используется с методами POST и PUT.

параметры команды curl

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

Эта команда вернет поля заголовка, такие как Date, Content-Type и т. д.

 Снимок экрана, показывающий результат выполнения команды curl только для заголовков HTTPS

-v — подробный параметр

Эта подробная команда покажет вам все, что происходит, когда вы запускаете команду curl, от подключения до заголовков и любых возвращаемых данных. Здесь мы также получаем описание изображения, возвращаемого запросом, вместе с URL-адресом изображения.

 Снимок экрана, показывающий результат выполнения команды curl только для заголовков HTTPS

-o сохраняет вывод в файл

Сочетание curl с другими командами интерфейса командной строки

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

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

Вот пример использования curl и Python для извлечения ссылки на изображение из запроса к NASA API и отображения ее в приложении Preview (только для MacOS):

В этом примере мы используем curl для выполнения запроса GET к конечной точке API Nasa. Это возвращает данные json, которые мы используем в небольшом сценарии Python для извлечения URL-адреса изображения. Затем мы используем команду curl, чтобы получить изображение и открыть его с помощью предварительного просмотра на Mac.

Снимок экрана, показывающий изображение, возвращенное комбинацией команд curl и python

Полезные инструменты для вызовов API

Почтальон

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

Вы можете генерировать и выполнять команды curl из Postman. Чтобы сгенерировать команды curl, вы можете ввести URL-адрес запроса и параметры, а затем щелкнуть параметр кода справа:

Снимок экрана с выделенным URL-адресом и кодом почтальона

Отображается окно с возможностью выбора из нескольких языков, включая curl .Выберите curl, чтобы увидеть сгенерированную команду curl.

 Снимок экрана, показывающий сгенерированную команду curl в Postman

Postman предоставляет историю всех запросов, которые вы создали, и даже помечает их данными, что может быть удобно для сбора точек данных или ссылок при работе с API. Думайте об этом как о клиенте, который делает для вас заметки.

 Снимок экрана, показывающий историю запросов почтальона

Клиент отдыха в VS Code

Rest Client для VS Code, вероятно, является одним из моих любимых инструментов для выполнения команд curl. Он легкий и имеет хорошую подсветку синтаксиса. Это действительно полезное дополнение для быстрого выполнения запросов из VS Code.

Вы можете просто ввести команду curl, и выше появится опция «отправить запрос».

Снимок экрана запроса команды curl в VS Code

После того, как вы нажмете кнопку "Отправить запрос", откроется другая вкладка с ответом.

Обзор и дальнейшие действия

В этой статье мы познакомили вас с основной командой curl и ее наиболее полезными параметрами. Мы также упомянули лишь несколько инструментов, которые помогут вам начать работу с cURL. Теперь вы можете начать использовать cURL для тестирования конечных точек и устранения неполадок в приложениях.

Чтобы узнать больше об API и управлении API, ознакомьтесь со следующими статьями и видео, доступными на IBM Developer:

Благодарности

Эта статья изначально была написана Амарой Грэм и опубликована в апреле 2019 года.

URL. Самое простое использование curl – это ввод команды, за которой следует URL-адрес.

Это должно отображать содержимое URL-адреса на терминале. Синтаксис URL-адреса зависит от протокола, и несколько URL-адресов могут быть записаны в виде наборов, например:

URL-адреса с сериями числовых последовательностей могут быть записаны следующим образом:

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

Пример:


Параметры:

  • Пример:
  • Вывод:
  • Пример:
  • Вывод:


  • Пример:
  • Вывод:


  • Пример:
  • Вывод:
  • Пример:
  • Вывод:


  • Если вы хотите добавить уже существующий FTP-файл, вы можете использовать параметр -a или –append.
  • Пример:
  • Вывод:
  • Приведенный выше пример загружает HTML-код и сохраняет его в файле log.html, а код — в файле code.c. Следующая команда показывает первые 30 строк кода.
  • Если прокси-сервер требует аутентификации, его можно использовать с помощью команды:

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

curl –url [URL-адрес SMTP] –mail-from [sender_mail] –mail-rcpt [receiver_mail] -n –ssl-reqd -u : -T [текстовый файл почты]

  • Пример:
  • Вывод:


Примечание. Существует ряд других параметров, предоставляемых cURL, которые можно проверить на главной странице. Библиотека libcurl была перенесена на различные языки программирования. Для получения документации рекомендуется посетить сайт отдельного проекта.

Синтаксис

Параметры

Это значение также можно задать с помощью параметра -H/--header.

ПРИМЕЧАНИЕ. Если файл cookie нельзя создать или записать в него, вся операция curl не завершится с ошибкой и даже не сообщит об ошибке. Если указан параметр -v, отображается предупреждение, но это единственная видимая обратная связь, которую вы получаете об этой потенциально фатальной ситуации.

Используйте "-C-", чтобы указать curl автоматически определять, где/как возобновить передачу. Затем он использует заданные выходные/входные файлы, чтобы выяснить это.

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

Если вы начинаете данные с символа "@", остальная часть должна быть именем файла, из которого будут считываться данные, или "-" (дефис), если вы хотите, чтобы curl считывал данные со стандартного ввода. Содержимое файла уже должно быть закодировано в URL-адресе. Также можно указать несколько файлов. Таким образом, публикация данных из файла с именем «foobar» будет выполняться с помощью «--data @foo-bar».

-d/--данные аналогичны --data-ascii. Чтобы опубликовать чисто бинарные данные, используйте параметр --data-binary. Чтобы URL-кодировать значение поля формы, вы можете использовать --data-urlencode.

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

Это заставляет curl кодировать URL-адрес контента и передавать его дальше. Просто будьте осторожны, чтобы содержимое не содержало никаких символов = или @, так как это приведет к тому, что синтаксис будет соответствовать одному из других случаев ниже!

Это заставляет curl кодировать URL-адрес контента и передавать его дальше. Предшествующий символ = не включается в данные.

имя=содержание

Это заставляет curl URL-кодировать часть контента и передавать ее дальше. Обратите внимание, что часть имени уже должна быть закодирована в URL.

Это заставляет curl загружать данные из заданного файла (включая любые новые строки), кодировать эти данные в URL-адресе и передавать их в POST.

Не разрешать делегирование.

Делегирует только в том случае, если в билете службы Kerberos установлен флаг OK-AS-DELEGATE, что является вопросом политики области.

--eprt может снова явно включить EPRT, а --no-eprt является псевдонимом для --disable-eprt.

--epsv может явно снова включить EPSV, а --no-epsv является псевдонимом для --disable-epsv.

При использовании на FTP строки ответа ftp-сервера считаются "заголовками" и поэтому сохраняются там.

(только для iOS и Mac OS X) Если curl создан для безопасного транспорта, то строка сертификата должна совпадать с именем сертификата в системной или пользовательской цепочке ключей. Закрытый ключ, соответствующий сертификату, и цепочка сертификатов (если есть) также должны присутствовать в цепочке ключей.

curl распознает переменную среды с именем 'CURL_CA_BUNDLE', если она установлена, и использует указанный путь как путь к пакету сертификатов ЦС. Этот параметр переопределяет эту переменную.

Версия curl для Windows автоматически ищет файл сертификатов ЦС с именем curl-ca-bundle.crt либо в том же каталоге, что и curl.exe, либо в текущем рабочем каталоге, либо в любой папке по пути PATH. .

curl выполняет одну операцию CWD для каждой части пути в заданном URL-адресе. Для глубоких иерархий это означает множество команд. Это поведение по умолчанию, но оно является самым медленным.

curl вообще не выполняет CWD. curl сделает SIZE, RETR, STOR и т. д. и даст полный путь к серверу для всех этих команд. Это самое быстрое поведение.

Если этот параметр используется несколько раз, следующие вхождения не имеют значения. Отменить принудительный пассив на самом деле невозможно, но вместо этого вы должны снова применить правильный -P, --ftp-port.

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

См. также параметры -A/--user-agent и -e/--referer.

Для этого параметра требуется библиотека, созданная с поддержкой kerberos4 или GSSAPI (GSS-Negotiate). Это не очень распространено. Используйте -V, --version, чтобы узнать, поддерживает ли ваш curl это.

Укажите имя файла как '-', чтобы curl считывал файл со стандартного ввода.

Обратите внимание: чтобы иметь возможность указать URL-адрес в файле конфигурации, вам необходимо указать его с помощью параметра --url, а не путем написания URL-адреса в отдельной строке. Таким образом, это может выглядеть примерно так:

url = "https://curl.haxx.se/docs/"

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

При вызове curl он всегда (если не используется -q) проверяет файл конфигурации по умолчанию и использует его, если он найден. Файл конфигурации по умолчанию проверяется в следующих местах в этом порядке:

1) curl пытается найти «домашний каталог»: сначала он проверяет CURL_HOME, а затем переменные среды HOME. В противном случае он использует getpwuid() в unix-подобных системах (который возвращает домашний каталог для текущего пользователя в вашей системе). В Windows затем проверяется переменная APPDATA или, в крайнем случае, «%USER-PROFILE%\Application Data».

2) В Windows, если в домашнем каталоге нет файла _curlrc, он проверяет наличие файла в том же каталоге, в котором находится исполняемый файл curl. В unix-подобных системах он попытается загрузить .curlrc из определенного домашнего каталога.

Указанная скорость измеряется в байтах в секунду, если не добавлен суффикс. При добавлении «k» или «K» число будет считаться килобайтами, «m» или «M» — мегабайтами, а «g» или «G» — гигабайтами. Примеры: 200 K, 3 м и 1 ГБ.

Указанная скорость — это средняя скорость, учитываемая в течение всей передачи.Это означает, что curl может использовать более высокие скорости передачи короткими пакетами, но со временем он использует не больше заданной скорости.

Если вы также используете параметр -Y/--speed-limit, этот параметр имеет приоритет и может немного повредить ограничение скорости, чтобы сохранить работу логики ограничения скорости.

Пример использования удаленного файла Metalink:

Чтобы использовать файл Metalink в локальной файловой системе, используйте протокол FILE (file://):

curl --metalink file://example.metalink

Обратите внимание, что если протокол FILE отключен, на момент написания этой статьи невозможно использовать локальный файл Metalink. Также обратите внимание, что если --metalink и --include используются вместе, --include будет игнорироваться. Это связано с тем, что включение заголовков в ответ нарушит синтаксический анализатор Metalink, а если заголовки включены в файл, описанный в файле Metalink, проверка хэша завершится ошибкой.

Для этого параметра требуется, чтобы библиотека curl была создана с поддержкой GSSAPI. Это не очень распространено. Используйте -V/--version, чтобы узнать, поддерживает ли ваша версия GSS-Negotiate.

При использовании этой опции вы также должны указать фальшивую опцию -u/--user, чтобы правильно активировать код аутентификации. Отправки '-u :' достаточно, так как имя пользователя и пароль из опции -u на самом деле не используются.

Если вы хотите включить NTLM для проверки подлинности прокси-сервера, используйте --proxy-ntlm.

Для этого параметра требуется библиотека, созданная с поддержкой SSL. Используйте -V, --version, чтобы узнать, поддерживает ли ваш curl NTLM.

или используйте несколько переменных, например:

Вы можете использовать эту опцию столько раз, сколько у вас есть URL-адресов.

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

Следовательно, файл будет сохранен в текущем рабочем каталоге. Если вы хотите, чтобы файл был сохранен в другом каталоге, убедитесь, что вы изменили текущий рабочий каталог, прежде чем вызывать curl с флагом -O, --remote-name!

Разрешить этот протокол в дополнение к уже разрешенным протоколам (это значение по умолчанию, если модификатор не используется).

Запретить этот протокол, удалив его из списка уже разрешенных протоколов.

Разрешить только этот протокол (игнорируя уже разрешенный список), хотя впоследствии он может быть изменен последующими записями в списке, разделенном запятыми.

--proto -ftps использует протоколы по умолчанию, но отключает ftps

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

например, "eth0", чтобы указать IP-адрес интерфейса, который вы хотите использовать (только для Unix)

например, "192.168.10.1", чтобы указать точный IP-адрес

например, "my.host.domain", чтобы указать машину

заставьте curl выбрать тот же IP-адрес, который уже используется для управляющего соединения.

Если этот параметр используется несколько раз, используется последний. Отключите использование PORT с --ftp-pasv. Отключите попытку использования команды EPRT вместо PORT с помощью --disable-eprt. EPRT на самом деле PORT++.

Эту опцию можно использовать несколько раз. При обращении к FTP-серверу добавьте к команде звездочку (*), чтобы curl продолжал работать, даже если команда завершается сбоем, поскольку по умолчанию curl останавливается при первом сбое.

SFTP — это двоичный протокол. В отличие от FTP, curl сам интерпретирует команды кавычек SFTP, прежде чем отправлять их на сервер. Имена файлов могут быть заключены в кавычки в стиле оболочки для включения пробелов или специальных символов. Ниже приведен список всех поддерживаемых команд кавычек SFTP:

файл группы chgrp

Команда chgrp задает идентификатор группы файла, указанного в файловом операнде, равным идентификатору группы, указанному в групповом операнде. Групповой операнд — это десятичный целочисленный идентификатор группы.

файл режима chmod

Команда chmod изменяет биты режима файла указанного файла. Операнд режима представляет собой восьмеричное целое число режима.

chown пользовательский файл

Команда chown устанавливает владельцем файла, указанного в файловом операнде, идентификатор пользователя, указанный в пользовательском операнде. Пользовательский операнд — это идентификатор пользователя в виде десятичного целого числа.

ln исходный_файл целевой_файл

Команды ln и symlink создают символическую ссылку в расположении target_file, указывающую на расположение исходного_файла.

mkdir имя_каталога

Команда mkdir создает каталог, названный операндом directory_name.

Команда pwd возвращает абсолютный путь к текущему рабочему каталогу.

переименовать исходную цель

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

Команда rm удаляет файл, указанный файловым операндом.

каталог rmdir

Команда rmdir удаляет запись каталога, указанную операндом каталога, если она пуста.

символическая ссылка исходный_файл целевой_файл

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

0-499 указывает первые 500 байт;

500-999 указывает вторые 500 байт;

-500 указывает последние 500 байт;

9500- указывает байты со смещения 9500 и далее;

0-0,-1 указывает только первый и последний байты(*)(H);

500-700,600-799 указывает 300 байт от смещения 500(H);

100-199,500-599 указывает два отдельных диапазона по 100 байт (*)(H).

(*) = ОБРАТИТЕ ВНИМАНИЕ, что это заставляет сервер отвечать составным ответом!

Диапазонные загрузки FTP поддерживают только простой синтаксис "старт-стоп" (при желании один из номеров может быть опущен). Это зависит от команды SIZE, не относящейся к RFC.

В полях "начало" и "стоп" синтаксиса диапазона "начало-стоп" допустимы только цифровые символы (0–9). Если в диапазоне указан нецифровой символ, ответ сервера будет неопределенным, в зависимости от конфигурации сервера.

Когда curl собирается повторить попытку передачи, он сначала ждет одну секунду, а затем для всех предстоящих попыток удваивает время ожидания, пока не достигнет 10 минут, что является задержкой между остальными попытками. Используя --retry-delay, вы отключаете этот алгоритм экспоненциальной отсрочки. См. также параметр --retry-max-time, чтобы ограничить общее время повторных попыток. (Добавлено в 7.12.3)

Этот параметр переопределяет любое предыдущее использование -x, --proxy, поскольку они взаимоисключающие.

Начиная с версии 7.21.7, этот параметр является излишним, поскольку вы можете указать прокси-сервер socks4 с параметрами -x, --proxy, используя префикс протокола socks4://.

Этот параметр переопределяет любое предыдущее использование -x, --proxy, поскольку они взаимоисключающие.

Начиная с версии 7.21.7, этот параметр является излишним, поскольку вы можете указать прокси-сервер socks4a с параметрами -x, --proxy, используя префикс протокола socks4a://.

Этот параметр переопределяет любое предыдущее использование -x, --proxy, поскольку они взаимоисключающие.

Начиная с версии 7.21.7, этот параметр является излишним, поскольку вы можете указать прокси-сервер socks5 с помощью -x, --proxy, используя префикс протокола socks5h://.

Этот параметр переопределяет любое предыдущее использование -x, --proxy, поскольку они взаимоисключающие.

Начиная с версии 7.21.7, этот параметр является излишним, поскольку вы можете указать прокси-сервер socks5 с параметрами -x, --proxy, используя префикс протокола socks5://.

Если этот параметр используется несколько раз, используется последний. (Ранее эта опция была неправильно задокументирована и использовалась как --socks без добавления номера.)

--socks5 proxy-name --socks5-gssapi-service sockd

использует sockd/proxy-name;

--socks5 proxy-name --socks5-gssapi-service sockd/real-name

Если этот параметр используется несколько раз, используется последний.

TType= Устанавливает тип терминала.

XDISPLOC= Устанавливает расположение отображения X.

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

Вы можете указать один -T для каждого URL-адреса в командной строке. Каждая пара -T + URL указывает, что и куда загружать. curl также поддерживает «подстановку» аргумента -T, что означает, что вы можете загружать несколько файлов на один URL-адрес, используя тот же стиль подстановки URL-адресов, который поддерживается в URL-адресе, например:

Этот параметр переопределяет предыдущее использование -v, --verbose или --trace-ascii.

Она очень похожа на --trace, но пропускает шестнадцатеричную часть и показывает только ASCII-часть дампа. Это делает вывод меньшего размера, который может быть легче читать неподготовленным людям.

Этот параметр переопределяет предыдущее использование -v, --verbose или --trace.

Если вы укажете имя пользователя (без двоеточия), curl предложит ввести пароль.

Если вы используете двоичный файл curl с поддержкой SSPI и выполняете аутентификацию NTLM, вы можете заставить curl получить имя пользователя и пароль из вашей среды, указав одно двоеточие с этой опцией: "-u :".

Если вы используете двоичный файл curl с поддержкой SSPI и выполняете аутентификацию NTLM, вы можете заставить curl получить имя пользователя и пароль из вашей среды, указав одно двоеточие с этой опцией: "-U :".

Команда cURL — важный инструмент Linux, обычно используемый для передачи данных и устранения неполадок с подключением. cURL основан на libcurl, бесплатной библиотеке для передачи URL-адресов на стороне клиента.

Давайте углубимся и узнаем, как его использовать.

Что такое команда cURL?

cURL (клиентский URL) — это инструмент командной строки, который позволяет передавать данные на сервер или с сервера без участия пользователя с помощью поддерживаемой библиотеки libcurl. cURL также можно использовать для устранения проблем с подключением.

Проверить версию cURL

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

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

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

Основной синтаксис команды cURL

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

Параметры командного файла cURL

Команды cURL могут загружать файлы из удаленного расположения. Вы можете сделать это двумя способами:

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

Пример этого показан ниже:

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

Приведенная выше команда сохранит его как newtestfile.tar.gz.

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

С помощью cURL мы также можем загружать несколько файлов, как показано ниже:

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

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

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

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

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

Пример запроса POST показан ниже:

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

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

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

Теперь измененный вывод будет таким:

cURL для файлов cookie

Ниже приведен пример такой команды:

cURL для FTP

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

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

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

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

Ограничение вывода cURL

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

Следующая команда ограничивает пропускную способность до 100 КБ:

Заключение

cURL — мощная и широко используемая команда. Это полезно, когда вы зависите от командной строки. Он имеет несколько опций и поддерживает несколько протоколов. Это отличная причина выучить эту команду!

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

Мы надеемся, что это руководство дало вам хорошую отправную точку для использования cURL! Как вы будете использовать эту команду? Дайте нам знать в комментариях!

Откройте для себя другие команды Linux для управления сервером

Эдвард – редактор контента с многолетним опытом работы в сфере ИТ в качестве писателя, маркетолога и энтузиаста Linux. Цель Эдварда — побудить читателей создать впечатляющее присутствие в Интернете. Еще он очень любит собак, гитары и все, что связано с космосом.

Синтаксис

Завить [параметры…] [URL..]

Установить Curl

Иногда curl уже установлен в Linux путем обновления пакетов. По умолчанию он рабочий, но если он не установлен, есть простой способ установки. Если curl еще не установлен в вашей системе Linux, его можно легко настроить с помощью нескольких команд.

Обновить пакеты

Первым шагом установки является обновление уже существующих пакетов; это позволит репозиториям установить curl в Ubuntu.


Установка Curl

После включения репозиториев мы можем установить curl. Обновление всех репозиториев может занять некоторое время. Установите curl сейчас.

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


После эффективной установки вы сможете использовать команду curl в операционной системе Linux.

Проверить версию

Чтобы увидеть установленную версию curl, вам нужно использовать следующую инструкцию в терминале Linux, так как она также проверяет установку, поскольку версия отображается только в том случае, если curl установлен.


Вывод показывает, что версия установленного curl — 7.68.

Пример1.

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

URL-адрес $ curl


В результате вы увидите HTML-код этого конкретного веб-сайта. Вы можете использовать команду curl для нескольких веб-сайтов. В команде можно указать более одного URL.

Пример 2.

Если вы хотите сохранить содержимое любого веб-сайта в файл, это можно сделать с помощью «-o» в команде curl. Указываем имя файла в команде. Затем он автоматически создается и сохраняется.

curl –o [URL]


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


Этот файл присутствует в папке, которая показывает создание и обновление файла с помощью команды.

Если вы хотите сохранить файл с именем веб-сайта по умолчанию, нет необходимости указывать это имя. Вам нужно только использовать заглавную о «-О» вместо маленькой. Затем он автоматически сохранит содержимое в файле с именем соответствующего веб-сайта.

Завиток –O [url….]


Вы можете проверить созданный файл с помощью команды grep на терминале.

Следовательно, файл создан.

Пример 3

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

Завиток –C – [URL….]


Пример 4



Пример 5

Заголовки URL содержат ключевые значения, разделенные двоеточием. Эти ключевые значения содержат такую ​​информацию, как кодирование, декодирование, информацию о пользователе, тип содержимого, информацию об агенте пользователя и т. д. Заголовки передаются между сервером и клиентом. Это делается, когда клиент запрашивает сервер, и серверу разрешено отправлять ответ. Чтобы получить заголовки URL, мы используем –I в команде curl


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

Пример 6

–libcurl — это опция, которая позволяет пользователю выводить исходный код на языке C, который использует libcurl для соответствующей опции. Если этот параметр используется в команде cURL, это помогает разработчикам добавить его в команду.

curl [URL..] –libcurl [файл…]


Пример 7

DICT — это протокол, который используется в этой команде curl. Он определяется файлом libcurl. Он работает в реализации curl. Этот протокол можно легко использовать для определения или объяснения значения слова в соответствующем словаре URL. Например, мы хотим получить значение слова память; то мы будем использовать его в команде таким образом, что сначала определяется протокол, то есть DICT, а потом путь к словарю и потом слово.

Curl [протокол: [URL]:[слово]


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

Пример 8

–limit-rate — это опция, позволяющая ограничить скорость передачи данных. Он ограничивает верхнюю границу скорости. Это не позволяет команде curl использовать полосу пропускания. Таким образом, это помогает разрешить ограничения скорости загрузки. Это предотвратит более раннее потребление. Значение также может быть записано в байтах или килобайтах. В этой команде мы ограничили скорость до 1 мегабайта.


Пример 9

Мы также можем загрузить URL-адрес из файла. Рассмотрим файл с именем address.txt, содержащий URL-адреса. Мы можем отобразить все URL-адреса с помощью команды Cat.

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


Заключение

В этой статье мы объяснили установку curl с его автономной работой и другими опциями, включая почти 9 примеров. Я надеюсь, что теперь вы можете легко реализовать желаемые примеры с помощью команды curl.

Об авторе

Акса Ясин

Я целеустремленный профессионал в области информационных технологий и обожаю писать. Я технический писатель и люблю писать для всех разновидностей Linux и Windows.

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