В чем разница между curl и wget? [закрыто]

Оба эти curl и wget используются для загрузки файлов и т.д. Есть ли причина использовать одну из них вместо другой?

38
задан 27 September 2015 в 07:56

4 ответа

После определения "надлежащего использования" использовать wget.

Почему? Вот почему:

Рекурсивный! главная сильная сторона wget, сравненная с завихрением, является своей способностью загрузить рекурсивно, или даже просто загрузить все, что упомянуто от удаленного ресурса, быть этим страница HTML или список каталогов FTP.


Бесстыдный скопированный отсюда

curl

  • библиотека. curl приводится в действие libcurl – межплатформенная библиотека со стабильным API, который может использоваться каждым и всеми. Это различие является существенным, так как оно создает совершенно другое отношение о том, как сделать вещи внутренне. Также немного более трудно сделать библиотеку, чем "простой" инструмент командной строки.

  • каналы. curl работы больше как традиционный Unix cat команда, это отправляет больше материала в stdout, и чтения больше от stdin во "все - канал" способ. wget больше похож cp, использование того же аналога.

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

  • Больше протоколов. curl поддержки FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, ФАЙЛ, POP3, IMAP, SMB/CIFS, SMTP, RTMP и RTSP. Wget только поддерживает HTTP, HTTPS и FTP.

  • Более портативный. curl сборки и работают на большом количестве большего количества платформ, чем wget. Например: ОС/400, TPF и другие более "экзотические" платформы, которые не являются простыми клонами Unix.

  • Библиотеки More SSL и поддержка SSL. curl может быть создан с одним из одиннадцать (11!) различные библиотеки SSL/TLS, и это предлагает больше управления и более широкой поддержки деталей протокола. curl прикрепление открытого ключа поддержек.

  • Автор HTTP. curl поддержки больше методов Аутентификации HTTP, особенно по Прокси HTTP: Основной, Обзор, NTLM и Согласовывают

  • НОСКИ. curl поддержки несколько версий протокола SOCKS для доступа прокси

  • Двунаправленный. curl загрузка предложений и передающие возможности. wget только плоскость предложений HTTP поддержка POST.

  • HTTP multipart/form-data отправка, которая позволяет пользователям делать HTTP "загрузка" и в целом эмулировать браузеры и делать автоматизацию HTTP до более широкой степени

  • curl поддержки gzip и расширьте Довольное Кодирование, и делает автоматическую распаковку

  • curl предложения и выполняют распаковку Закодированного Передачей HTTP, wget не делает

  • curl поддержки HTTP/2 и это делают подключения двойного стека с помощью Счастливых Глазных яблок

  • Намного больше действия разработчика. В то время как это может быть обсуждено, я рассматриваю три метрики здесь: действие списка рассылки, частота фиксации исходного кода и частота выпуска. Любой в соответствии с этими двумя проектами видит, что вихревой проект имеет намного более высокий темп во всех этих областях, и это было так для 10 + годы. Сравните на openhub


wget

  • wget командная строка только. Нет никакой библиотеки.

  • Рекурсивный! wgetглавная сильная сторона, сравненная с завихрением, является своей способностью загрузить рекурсивно, или даже просто загрузить все, что упомянуто от удаленного ресурса, быть этим страница HTML или список каталогов FTP.

  • Более старый. wget имеет прослеживает до 1995, в то время как curl может быть прослежен назад не ранее, чем конец 1996.

  • GPL. wget 100% GPL v3. завихрением является лицензируемый MIT.

  • GNU. wget часть проекта GNU, и все авторские права присвоены FSF. Вихревой проект совершенно автономен и независим без организационного порождения вообще почти со всеми авторскими правами, принадлежавшими Daniel.

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

  • wget поддерживает Общедоступный Суффиксный Список для обработки доменов cookie, завихрение не делает.

  • wget поддержки только GnuTLS или OpenSSL для поддержки SSL/TLS

  • wget поддержки только Основной автор как единственный автор заменяют Прокси HTTP вводом с клавиатуры

  • wget не имеет никакой поддержки SOCKS

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

  • wget может быть введен в использовании только левой руки на QWERTY-клавиатуре!

33
ответ дан 27 September 2015 в 17:56
  • 1
    У меня есть только 80, 443, и порт SSH включил, ничто больше... Так, это - просто действие сканера? – Letizia Rossi 16 December 2016 в 01:48

У них есть много общей функциональности, но curl имеет больше опций. Для wget может иногда быть достаточно пролистать man wget, но для curl я должен учиться эта веб-страница в браузере. Я верю чему-либо, что Ваш браузер может сделать, curl может сделать также.

3
ответ дан 27 September 2015 в 17:56
  • 1
    Я предполагаю Вас can' t загружают один ноутбук от другого с USB если только потому, что there' s совсем не достаточно питания? – Thufir 16 December 2016 в 22:57

Существует много инструментов, которые могут загрузить как curl, snarf, wget, pavuk, fget, fetch, lftp, aria2, HTTrack и т.д. Используйте его согласно своему требованию и какую функцию Вы хотите использовать наряду с загрузкой. Проверьте таблица функции и использование соответственно.

Завихрение:

  • Завихрение поддерживает больше протокола, FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, ФАЙЛ, POP3, IMAP, SMTP, RTMP и Завихрение RTSP
  • поддерживают больше библиотек SSL
  • , Завихрение поддерживает больше методов Аутентификации HTTP, особенно по Прокси HTTP: Основной, Обзор, NTLM и Согласовывают
  • , Завихрение приводится в действие libcurl-a межплатформенная библиотека со стабильным API, который может использоваться каждым и всеми

Wget:

  • , В то время как wget поддерживает HTTP, HTTPS и FTP
  • Wget, поддерживает только GnuTLS или OpenSSL для поддержки SSL/TLS
  • , Wget поддерживает только Основного автора, поскольку единственный автор заменяет Прокси HTTP вводом с клавиатуры
  • , Wget является инструментом командной строки только, это не имеет никакой библиотеки.

Важные Ресурсы для большего количества информации:

19
ответ дан 27 September 2015 в 17:56
  • 1
    Корректный. Вы также скоро заметите тысячи попыток подключения по SSH, поэтому удостоверьтесь, что Вы имеете превосходный пароль или, еще лучше, используете общественность/закрытый ключ. Можно также установить Fail2ban, который сканирует файлы журнала и автоматически запрещает дюйм/с, которые нападают на Вас (но бояться блокировать себя из Вашей машины). – Adrien Beau 16 December 2016 в 01:51

Существует другое различие между wget и завихрением, которое я думаю, является значительным.

Wget является автономной утилитой командной строки, это предназначается, прежде всего, для получения интернет-контента быстро и просто.

Завихрение, с другой стороны, является в основном терминальным фронтэндом для мощной libcurl библиотеки. Libcurl обеспечивает очень мощный набор инструментов для работы с URL во всех их формах и разновидностях, и доступен почти для всех языков и платформ. Завихрение в основном дает Вам способность пользоваться этой библиотекой в сценариях оболочки.

2
ответ дан 27 September 2015 в 17:56
  • 1
    нет это - отношения, это - проблема, интерфейсы usb являются хостом или устройством, хостом хоста isn' t поддерживаемый. класс гаджета usb является обходным решением для этого, i' ve обновил мой ответ – Amias 17 December 2016 в 07:04

Другие вопросы по тегам:

Похожие вопросы: