Пример использования команды Linux Curl

Узнайте, как можно использовать команду Curl в Linux

Команда curl может использоваться для передачи файлов по сети или из Интернета с использованием различных форматов, включая http, https, ftp и даже smb.

Команда curl имеет много разных методов аутентификации. Вы можете использовать его для доступа к FTP-сайтам, отправки электронной почты, подключения к адресам SAMBA, загрузки и скачивания файлов и многого другого.

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

Основное использование команды curl

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

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

 curl http://linux.lifewire.com/cs/linux101/g/curl.htm 

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

Очевидно, что страница прокручивается слишком быстро для чтения, поэтому, если вы хотите замедлить ее, вы должны использовать либо команду less, либо команду more.

 curl http://linux.lifewire.com/cs/linux101/g/curl.htm | подробнее 

Вывести содержимое curl в файл

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

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

 curl -o 

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

 curl -o curl.htm http://linux.lifewire.com/cs/linux101/g/curl.htm 

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

Вы можете упростить это далее, используя минус O (-O) следующим образом:

 curl -O http://linux.lifewire.com/cs/linux101/g/curl.htm 

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

Запустите команду Curl в фоновом режиме

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

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

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

 curl -s -O 

Чтобы заставить команду работать в фоновом режиме, вам нужно использовать амперсанд (&) следующим образом:

 curl -s -O & 

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

Загрузка нескольких URL с помощью Curl

Вы можете скачать с нескольких URL, используя одну команду curl.

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

 curl -O http://www.mysite.com/page1.html -O http://www.mysite.com/page2.html 

Представьте, что у вас есть папка с 100 изображениями, которая называется image1.jpg, image2.jpg, image3.jpg и т. Д. Вам не нужно вводить все эти URL-адреса.

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

 curl -O http://www.mysite.com/images/image[1-100].jpg 

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

Например, представьте, что вы хотите загрузить www.google.com и www.bing.com. Вы можете просто использовать следующую команду для выполнения этого:

 curl -O http: // www. {google, bing} .com 

Отображение прогресса

По умолчанию команда curl возвращает следующую информацию при загрузке URL:

  • Всего% : процент выполненных переводов.
  • Всего байт . Общий размер передачи в байтах.
  • Получено/переведено% : процент выполненных переводов.
  • Полученные/переданные байты : количество загруженных байтов.
  • Средняя скорость загрузки . Скорость загрузки в байтах в секунду.
  • Средняя скорость загрузки . Скорость загрузки в байтах в секунду.
  • Общее время . Предполагаемое время для завершения текущей операции.
  • Время, проведенное . Время, прошедшее с начала перевода.
  • Оставшееся время . Ожидаемое время для завершения передачи.
  • Текущая скорость . Текущая скорость передачи в байтах в секунду.

Если вы предпочитаете простой индикатор выполнения, просто укажите переключатель минус хеш (- #) следующим образом:

 curl - # -O 

Обработка перенаправлений

Представьте, что вы указали URL-адрес как часть команды curl, и думаете, что у вас есть правильный адрес для загрузки большого файла, чтобы вернуться позже и обнаружить, что все, что у вас есть, это веб-страница с сообщением «эта страница была перенаправлена ​​на сайт www.blah». ком». Это было бы раздражающим, не так ли?

Команда curl умна тем, что может следовать за перенаправлениями. Все, что вам нужно сделать, это использовать переключатель минус L (-L) следующим образом:

 curl -OL 

Уменьшить скорость загрузки

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

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

 curl -O - предел скорости 1 м 

Скорость может быть указана в килобайтах (k или K), мегабайтах (m или m) или гигабайтах (g или G).

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

Скачать файлы с FTP-сервера

Команда curl может обрабатывать не только передачу файлов HTTP. Он может обрабатывать FTP, GOPHER, SMB, HTTPS и многие другие форматы.

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

 curl -u пользователь: пароль -o 

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

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

 curl -u пользователь: пароль -T 

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

Передача данных формы в форму

Вы можете использовать curl для заполнения онлайн-формы и отправки данных, как если бы вы заполнили их самостоятельно. Многие популярные сервисы, такие как Google, блокируют такой вид использования.

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

 curl -d name = john email=john@mail.com www.mysite.com/formpage.php 

Существуют различные способы передачи информации о форме. Приведенная выше команда использует базовый текст, но если вы хотите использовать множественное кодирование, которое позволяет передавать изображения, вам нужно будет использовать переключатель минус F (-F).

Оцените статью
Solutics.ru
Добавить комментарий