Curl команды: Команда cURL для Windows и Linux: руководство для начинающих

Содержание

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

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

Содержание

  1. Синтаксис и опции curl
  2. Просмотр версии curl
  3. Скачивание файла
  4. Возобновление прерванной загрузки
  5. Скачивание нескольких файлов
  6. Использование прокси-сервера
  7. Запрос HTTP-заголовков
  8. cURL POST-запросы с параметрами
  9. Загрузка файлов на FTP-сервер
  10. Указание агента пользователя
  11. Запись файлов cookie с веб-сайта
  12. Отправка файлов cookie на сайт
  13. Изменение разрешения имен
  14. Ограничение скорости скачивания
  15. Заключение

Синтаксис и опции 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 --version

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

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

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

$ curl -O http://yourdomain.com/yourfile

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

$ curl -o /tmp/examplе/newfile http://yourdomain.com/yourfile.tar.gz - сохранение файла под именем newfile.tar.gz в директории /tmp/examplе/

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

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

$ curl -C - -O http://yourdomain. com/yourfile

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

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

$ curl -O http://yoursite.com/info.html/info -O http://mysite.com/about.html/about

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

$ xargs -n 1 curl < listurls.txt

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

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

$ curl -x proxy.yourdomain.com:8080 -U user:qwerty1234 -O http://yourdomain.com/yourfile

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

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

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

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

$ curl -I https://itproffi.ru

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

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

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

$ curl --data "firstName=Ivan&lastName=Ivanov" https://yourdomain.com/info.php

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

Скачивание файлов с FTP-сервера

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

$ curl -u user:qwerty1234 -O ftp://yourftpserver/yourfile

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

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

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

$ curl -u user:qwerty1234 -T mylocalfile.tar.gz ftp://yourftpserver

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

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

$ curl -I http://localhost --user-agent "I am a new web browser"

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

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

$ curl --cookie-jar cookies.txt https://itproffi.ru/

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

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

$ curl --cookie cookies. txt https://itproffi.ru

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

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

$ curl --resolve www.yourdomain.com:80:localhost http://www.yourdomain.com/

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

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

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

$ curl --limit-rate 100K http://yourdomain.com/yourfile -O

Заключение

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

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

Что такое команда cURL и примеры ее использования

Что такое cURL? cURL — это сокращение от «Client URL». Данная утилита доступна в большинстве систем на основе Unix и часто используется для получения данных по заданному url или передачи и получения файлов по различным протоколам.
Команда cURL поддерживает множество протоколов, сред них:

  • HTTP и HTTPS
  • FTP и FTPS
  • IMAP и IMAPS
  • POP3 и POP3S
  • SMB и SMBS
  • SFTP
  • SCP
  • TELNET
  • GOPHER
  • LDAP и LDAPS
  • SMTP и SMTPS

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

$ sudo apt update
$ sudo apt install libcurl3

если у вас установлена ОС Windows, то вам надо будет скачать библиотеку с сайта curl. haxx.se/download.html

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

curl [OPTIONS] [URL]

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

  • -X, –request- метод HTTP, который будет использоваться.
  • -i, –include- Включить заголовки ответа.
  • -d, –data- Данные, которые должны быть отправлены.
  • -H, –header- Дополнительный заголовок для отправки.

##Проверка версии cURL

$ curl --version

##GET запрос

$ curl www.example.com

##POST запрос
Иногда для тестирования API нужно отправить какие-либо данные, обычно это делают через POST-запрос. Если вы делаете POST-запрос при помощи curl, то можете отправить данные либо в виде списка имя=значение, либо в виде JSON.
Запрос в виде списка имя=значение:

$ curl --data "param1=test1&param2=test2" http://domain.com

Запрос в виде JSON:

curl  -H 'Content-Type: application/json' --data '{"param1":"test1","param2":"test2"}' http://www. domain.com

Параметр —data эквивалентен -d, оба указывают cURL выполнить HTTP POST-запрос.

##Сохраните вывод cURL в файл
Вывод команды cURL может легко сохранить в файл, добавив опцию -o в команде, как показано ниже

$ curl -o website.html https://domain.ru

##Скачивание файла
Команды cURL могут загружать файлы из удалённой локации. Есть два способа это сделать:
-O сохранит файл в текущем рабочем каталоге с тем же именем, что и у удалённого;
-o позволяет указать другое имя файла или местоположение.

Скачать файл и сохранить под оригинальным именем. В этом примере архив filename.tar.gz будет загружен в текущий рабочий каталог.

$ curl -O https://example.com/filename.tar.gz

Скачать файл и сохранить под другим именем:

$ curl -o new_filename.tar.gz https://example.com/filename.tar.gz

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

$ curl -u user sftp://example.com/path/to/file

Скачать список файлов
Можно скачать список файлов, для этого надо создать файл url_list. txt, который содержит список всех URL-адресов для загрузки и запустить следующую команду, которая выполнит загрузку всех файлов с этих URL.

$ xargs –n 1 curl -O < url_list.txt

##Доступ к FTP-серверу
Чтобы получить доступ к FTP-серверу с помощью cURL, надо использовать следующую команду:

$ curl ftp://ftp.domain.com --user username:password

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

$ curl ftp://ftp.domain.com/filename.zip --user username:password

и загрузить файл на сервер FTP:

$ curl -T filename.zip ftp://ftp.domain.com/ --user username:password

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

##Получение заголовков HTTP
Если вы хотите посмотреть, какие заголовки отдает сервер, то можно использовать опции -I или -head. Они позволяют получить заголовок без тела документа.

$ curl -I http://example. com

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

Чтобы он не выдавал ошибку о неверных сертификатах и устанавливал соединение для тестирования, используйте опцию -k или -insecure.

curl -k https://localhost/my_page

Указание типа запроса

Параметры -X или —request позволяют указать тип HTTP-запроса, который используется для сообщения с сервером.

$ curl -X PUT -d 'name=mkyong&[email protected]' http://domain.com/user/

если требуется передать JSON данные на сервер, то надо указать заголовок Content-Type: application/json и выполнить следующий запрос:

$ curl -X PUT -H "Content-Type: application/json" -d '{"name":"mkyong","email":"[email protected]"}' http://domain.com/user/

пример запроса с типом DELETE

$ curl -X DELETE http://domain.com/user/

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

$ curl --cookie-jar Mycookies.txt http://domain.com/ /index.html -O

теперь можно использовать данный файл что бы сделать запрос с cookies:

curl --cookie Mycookies.txt http://domain.com/

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

Если ресурс закрыт авторизацией по логину-паролю — вы можете передать пару логин-пароль, используя параметр -u или —user. Если просто передать логин, то curl запросит пароль в командной строке. Используете параметр несколько раз — для авторизации на сервер будет передано только последнее значение.

$ curl -u <user:password> https://domain.com/need_auth

Команда curl

в Linux с примерами

curl — это инструмент командной строки для передачи данных на сервер или с сервера с использованием любого из поддерживаемых протоколов (HTTP, FTP, IMAP, POP3, SCP, SFTP, SMTP, TFTP, TELNET, LDAP или ФАЙЛ). curl работает на Libcurl. Этот инструмент предпочтительнее для автоматизации, поскольку он предназначен для работы без взаимодействия с пользователем. curl может передавать несколько файлов одновременно.
Синтаксис:   

 curl [опции] [URL...] 

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

 curl https://www.geeksforgeeks.org 

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

 curl http://site.{one, two, three}.com 

curl ftp://ftp.example.com/file[1-20].jpeg

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

 curl -# -O ftp://ftp.example.com/file.zip
curl --silent ftp://ftp.example.com/file.zip 

Если вам нравится индикатор выполнения вместо счетчика, вы можете использовать опцию -# , как в примере выше, или –silent если вы хотите отключить его полностью.

Пример:

Опции:

-o: сохраняет загруженный файл на локальном компьютере с именем, указанным в параметрах.
Синтаксис:

 curl -o [имя_файла] [URL...] 
  • Пример:
 curl -o hello.zip ftp://speedtest.tele2.net/1MB.zip 
  • Вывод:
  • В приведенном выше примере файл загружается с FTP-сервера и сохраняется под именем hello.zip .

-O: Этот параметр загружает файл и сохраняет его с тем же именем, что и в URL-адресе.
Синтаксис:

 curl -O [URL...] 
  • Пример:
 curl -O ftp://speedtest.tele2.net/1MB.zip 

900 60

  • Выход:
  • -C -: Эта опция возобновляет загрузку, которая была остановлена ​​по какой-либо причине. Это полезно, когда загрузка больших файлов была прервана.
    Синтаксис:

     curl -C - [URL...] 
    • Пример:
     curl -C - -O ftp://speedtest.tele2.net/1MB.zip 
    • Вывод:

    –limit-rate: Эта опция ограничивает верхнюю границу скорости передачи данных и удерживает ее около заданного значения в байтах.
    Синтаксис:

     curl --limit-rate [значение] [URL] 
    • Пример:
     curl --limit-rate 1000K -O ftp://speedtest.tele2.net/1MB.zip 
    • Вывод:
    • Команда ограничивает загрузку до 1000K на тес.

    -u: curl также позволяет загружать файлы с FTP-серверов, прошедших проверку подлинности пользователя.
    Синтаксис:

     curl -u {имя пользователя}:{пароль} [FTP_URL] 
    • Пример:
     curl -u demo:password -O ftp://test. rebex. сеть/readme. текст 
    • Вывод:  

    -T: Эта опция помогает загрузить файл на FTP-сервер.
    Синтаксис:

     curl -u {имя пользователя}:{пароль} -T {имя файла} {FTP_Location} 
    • Если вы хотите добавить уже существующий FTP-файл, вы можете использовать -a или —append вариант .

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

     curl [URL...] --libcurl [имя файла] 
    • Пример:
     curl https://www.geeksforgeeks.org > log.html --libcurl code .с 
    • Выходные данные:
    • В приведенном выше примере HTML-код загружается и сохраняется в файле log. html, а код — в файле code.c. Следующая команда показывает первые 30 строк кода.

    -x, —proxy: curl также позволяет нам использовать прокси для доступа к URL-адресу.
    Синтаксис:

     curl -x [имя_прокси]:[порт] [URL...] 
    • Если прокси-сервер требует аутентификации, его можно использовать с помощью команды: 
     curl -u [пользователь]: [пароль] -x [имя_прокси]:[порт] [URL...] 

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

    curl –url [URL-адрес SMTP] –mail-from [почта_отправителя] –mail-rcpt [почта_получателя] -n –ssl-reqd -u {email}:{пароль} -T [текстовый файл почты ]

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

     curl [протокол:[URL_словаря]:[слово] 
    • Пример:
     curl dict://dict.org/d:overclock 
    • Вывод:

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

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

    следующий →
    ← предыдущая

    Команда curl

    Linux используется для загрузки или выгрузки данных на сервер через поддерживаемые протоколы, такие как HTTP, FTP, IMAP, SFTP, TFTP, IMAP, POP3, SCP и т. д. Это удаленная утилита, поэтому она работает без участия пользователя.

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

    Curl — это инструмент командной строки для получения и отправки данных, таких как файлы с синтаксисом URL. Он поддерживает все протоколы, поддерживаемые libcurl, поскольку использует libcurl. Curl обеспечивает поддержку HTTPS и реализует проверку SSL-сертификата, когда безопасный протокол упоминается по умолчанию, например HTTPS. Curl принесет сертификат удаленного сервера и проверит сертификат CA, чтобы сохранить действительность удаленного сервера, чтобы гарантировать, что удаленный сервер является тем, который он запрашивает, когда curl связывается с удаленным сервером по HTTPS.

    Существует множество вариантов определения сертификата ЦС, например —capath и —cacert . Параметр, т. е. —cacert, можно использовать для указания местоположения файла хранилища сертификатов ЦС. Если файл сертификата CA недоступен на платформе Windows, curl будет искать имя файла сертификата CA «curl-ca-bundle.crt» в следующей последовательности:

    • Каталог, в котором находится программа curl.
    • Текущий рабочий каталог.
    • Системный каталог (Windows).
    • Каталог (Windows).
    • Каталоги упоминаются в переменных окружения %PATH%.

    Curl выдает сообщение об ошибке, когда удаленный сервер использует самозаверяющий сертификат или когда сертификат удаленного сервера не подписан через ЦС, указанный в файле сертификата ЦС. Опцию —insecure или -k можно использовать для пропуска проверки сертификата. В качестве альтернативы сертификат удаленного ЦС может быть включен в файл хранилища сертификатов ЦС, если удаленный сервер действителен.

    Curl предлагает множество полезных трюков, таких как возобновление передачи файлов, файлы cookie, соединения SSL, публикация HTTP, загрузка FTP, аутентификация пользователя, поддержка прокси и многое другое. Curl механизирован libcurl для каждого аспекта, связанного с переносом.

    Что такое libcurl?

    libcurl — это бесплатная клиентская библиотека для передачи URL-адресов. Он поддерживает SMB, SMTP, SCP, RTMP, RTSP, POP3, MQTT, LDAP, Kerberos, IMAP, HTTPS, туннелирование HTTP-прокси, HTTP PUT, HTTP POST, HTTP/1, Gopher, FTPS, FTP, DICT и файлы cookie. Библиотека также поддерживает аутентификацию пользователя и пароля, прокси-серверы, LDAPS, сертификаты HTTPS, загрузку на основе форм HTTP, загрузку FTP, возобновление передачи файлов, TFTP, Telnet, SFTP и схему URL-адресов файлов.

    libcurl компактен. Он одинаково создается и работает на нескольких платформах, включая Microsoft Windows, UnixWare, Ultrix, Tru64, Symbian, Solaris, RISC OS, QNX Neutrino, OS/2, OpenBSD, NetWare, NetBSD, macOS, Linux, IRIX, iOS, HURD, HP. -UX, FreeBSD, DOS, Darwin, OpenVMS, BlackBerry 10, BlackBerry Tablet OS, BeOS, Android, AmigaOS и AIX.

    Библиотека libcurl совместима с IPv6, потокобезопасна и бесплатна. Привязки также доступны для более чем 50 языков, включая Python, PHP, Java и C/C++.
    Библиотека libcurl поддерживает SChannel, gskit для IBM i, NSS, mbed TLS, GnuTLS для Windows, Secure Trasport для iOS и macOS, TLS/SSL через OpenSSL, rustls, BearSSL, wolfSSL, AmiSSL, libressl и Boringssl.

    Синтаксис:

    Базовый синтаксис для использования curl выглядит следующим образом:

    curl [параметры] [URL…]

    Из приведенного выше синтаксиса

    URL-адрес:

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

    http://сайт.{один,два,три}.com

    Опции:

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

    —abstract-unix-socket <путь>: Используется для подключения через абстрактный сокет домена Unix вместо сети.

    —anyauth: Используется для команды curl для аутентификации самого метода для использования наиболее безопасного метода. Это необязательная утилита «—basic, —digest, —ntlm и переговоры», которая используется для установки определенного метода проверки подлинности.

    -a, —append: Используется для загрузки файлов. Он добавляет файл, а не перезаписывает его. Если данный файл не существует на сервере, он будет создан.

    —basic: Указывает использование базовой аутентификации HTTP. Это опция по умолчанию для команды curl. Это полезно для переопределения предыдущих настроек.

    —cacert <файл>: Указывается для использования конкретного файла сертификата для проверки узла. Файлы могут иметь несколько сертификатов CA. Стандартный формат сертификатов — PEM, поэтому все сертификаты должны быть в нем.

    —capath

    : Указывается для использования определенного каталога для проверки однорангового узла. Мы можем указать несколько путей, разделив их двоеточием (:), например, «путь: путь3:путь4». Стандартный формат сертификатов — PEM, поэтому все сертификаты должны быть в нем.

    —cert-status: Используется для проверки статуса сертификата сервера. Он использует запрос статуса сертификата или TLS сшивания OCSP.

    —cert-type <тип>: Указывает предоставленный тип сертификата curl. Эти сертификаты могут быть в формате PEM, DER и ENG. Значение по умолчанию — PEM. Если он указан несколько раз, curl примет последнее значение.

    -E, —cert <сертификат[:пароль]>: Указано для использования файла сертификата клиента при получении файла по любому протоколу на основе SSL, например HTTPS, FTPS и т. д.

    —ciphers <список шифров>: Используется для выбора шифров, используемых в соединении.

    —compressed-ssh: Используется для включения встроенного сжатия SSH. Эта опция будет принята сервером как запрос, поэтому сервер может ее принять или не принять.

    —compressed: Используется для запроса сжатого ответа с использованием алгоритмов curl и сохранения несжатого документа. Эта опция отправит отчет о неподдерживаемой кодировке curl.

    -K, —config <файл>: Используется для описания текстового файла для чтения аргументов curl. Завиток будет использовать аргументы командной строки из текстового файла.

    —connect-timeout : Используется для указания максимального времени в секундах для тайм-аута соединения curl.

    —connect-to : Используется для создания запроса к заданной паре хост-порт; в противном случае он подключится к следующей паре. Эта опция является удобным инструментом для выполнения прямых запросов к определенному серверу.

    -C, —continue-at <смещение>: Используется для продолжения или возобновления предыдущей передачи файла с заданным смещением.

    -c, —cookie-jar <имя файла>: Используется для указания конкретного файла, в который мы хотим записать все файлы cookie после успешной операции.

    -b, —cookie : Используется для пересылки данных на HTTP-сервер в заголовке Cookie.

    —create-dirs: Используется в сочетании с ‘-o? вариант, он создаст необходимую иерархию локальных каталогов.

    —crlf (FTP SMTP): Используется для преобразования LF в CRLF при загрузке. Это удобный инструмент для MVS (OS/39).0).

    —crlfile <файл>: Используется для указания (в формате PEM) списка отозванных сертификатов.

    —data-ascii : Это псевдоним для ?-d? вариант.

    —delegation : Используется для установки LEVEL для подтверждения сервером того, что ему разрешено делегировать, когда речь идет об учетных данных пользователя.

    —digest: Используется для включения аутентификации HTTP Digest.

    -q, —отключить: Если используется в качестве первого аргумента, он будет игнорировать файл конфигурации curlrc.

    —dns-interface : Используется для подтверждения отправки сервером исходящих DNS-запросов.

    —dns-servers <адреса>: Используется для указания DNS-серверов вместо серверов по умолчанию.

    -f, —fail: Используется для автоматического сбоя curl при ошибках сервера.

    -F, —form : Используется для эмуляции заполненной пользователем формы.

    -P, —ftp-port <адрес>: Используется для изменения ролей прослушивателя по умолчанию при соединении с FTP.

    —ftp-ssl-ccc-mode <активный/пассивный>: Используется для установки режима CCC.

    -G, —get: Используется для указания данных с помощью ?-d? параметр, который будет использоваться в запросе HTTP GET вместо запроса POST.

    -h, —help: Используется для отображения справочного руководства с кратким описанием вариантов использования и поддержки.

    -0, —http1.0: Указан для использования HTTP версии 1.0.

    —ignore-content-length: Используется для игнорирования заголовка Content-Length.

    -i, —include: Используется для включения заголовков ответов HTTP.

    -4, —ipv4: Используется для преобразования имен в адреса Ipv4.

    -6, —ipv6: Используется для преобразования имен в адреса Ipv6.

    Протоколы завивки

    Curl поддерживает несколько протоколов:

    • DICT: Это позволяет нам искать слова только в словарях.
    • FTP (S): Curl поддерживает протокол FTP, используя множество рычагов и настроек. С TLS или без.
    • ФАЙЛ: Это позволяет нам записывать и читать локальный файл. Curl не позволяет получить удаленный доступ к file://URL, но он будет работать, когда он активен в Microsoft Windows с собственным подходом UNC.
    • СУСЛИК (S): Извлекает файлы.
    • HTTP (S): Curl поддерживает HTTP, используя множество вариантов и опций. Он может говорить на версиях HTTP 0.9, 1.0, 1.1, 2 и 3 в зависимости от точной командной строки и параметров сборки.
    • IMAP (S): Curl загружает для нас электронные письма с протоколом чтения почты. С TLS или без.
    • LDAP (S): Curl может реализовать для нас поиск в каталоге с использованием или без использования TLS.
    • MQTT: Curl поддерживает версию 3 MQTT. Загрузка по MQTT такая же, как и «подписаться» на любую тему, а публикация/загрузка аналогична «опубликовать» на любую тему. Через TLS MQTT не поддерживается.
    • POP3 (S): Загрузка через сервер pop3 представляет собой получение почты без или с TLS.
    • RTMP (S): RTMP или протокол обмена сообщениями в реальном времени в основном используется для серверной потоковой передачи мультимедиа.
    • RTSP: Curl поддерживает загрузку 1.0 RTSP.
    • SCP: Curl поддерживает двухкомпонентную версию SCP.
    • SFTP: Curl поддерживает SFTP через версию 2 SSH.
    • SMB (S): Curl поддерживает 1 версию SMB для загрузки и выгрузки.
    • SMTP (S): Загрузка содержимого на любой SMTP-сервер означает передачу электронной почты без или с TLS.
    • TELNET: Информирование curl о предоставлении URL-адреса telnet запускает интерактивный сеанс, в котором он передает то, что читает через стандартный ввод, и возвращает то, что передает сервер.
    • TFTP: Curl может выполнять загрузку и выгрузку TFTP.

    Установка команды curl

    Команда curl входит в состав большинства дистрибутивов Linux. Но, если система не несет завиток по умолчанию. Вам необходимо установить его вручную. Для установки curl выполните следующие команды:

    Обновите систему, выполнив следующие команды:

    судо подходящее обновление
    судо подходящее обновление

    Теперь установите утилиту curl, выполнив следующую команду:

    sudo apt установить завиток

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

    curl -версия

    Приведенная выше команда отобразит установленную версию команды curl.

    Получить содержимое указанного URL-адреса

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

    завиток https://www.javatpoint.com/linux-tutorial

    Приведенная выше команда извлечет данные указанной страницы. Рассмотрим приведенный ниже снимок вывода:

    Из приведенного выше вывода видно, что данные страницы с заданным URL извлекаются. Чтобы остановить выполнение, нажмите клавиши CTRL+C.

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

    Чтобы сохранить данные в определенном файле, передайте параметр «-o», а затем каталог, имя файла и URL-адрес следующим образом:

    curl -o <каталог>/<имя файла>

    Рассмотрим следующую команду:

    curl -o /home/javatpoint/Documents/linux.html https://www.javatpoint.com/linux-tutorial

    Приведенная выше команда сохранит данные страницы в файле linux.html в каталоге «/home/javatpoint/Documents/». Рассмотрим следующий вывод:

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

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

    компакт-диск документы
    кошка линукс.html

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

    Загрузка файла из Интернета

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

    curl -o /home/javatpoint/Documents/ubuntu20.04.iso https://ubuntu.com/download/desktop/thank-you?version=20. 04&architecture=amd64

    Приведенная выше команда загрузит Ubuntu 20.04 в указанный каталог. Укажите правильное расширение файла; в противном случае он загрузит файл в другом формате. Рассмотрим следующий вывод:

    Судя по приведенному выше выводу, загружается файл ubuntu.iso. Мы можем видеть время загрузки, размер файла, скорость загрузки и другую статистику. Чтобы остановить выполнение, в любой момент нажмите клавиши CTRL+D.

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

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

    завиток -C

    Приведенная выше команда возобновит загрузку указанного URL-адреса.

    Загрузка нескольких файлов

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

    curl -O

    Приведенная выше команда загрузит данные с обоих URL-адресов соответственно.

    Imacros | Все права защищены © 2021