Оба эти curl
и wget
используются для загрузки файлов и т.д. Есть ли причина использовать одну из них вместо другой?
После определения "надлежащего использования" использовать 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-клавиатуре!
У них есть много общей функциональности, но curl
имеет больше опций. Для wget
может иногда быть достаточно пролистать man wget
, но для curl
я должен учиться эта веб-страница в браузере. Я верю чему-либо, что Ваш браузер может сделать, curl
может сделать также.
Существует много инструментов, которые могут загрузить как curl
, snarf
, wget
, pavuk
, fget
, fetch
, lftp
, aria2
, HTTrack
и т.д. Используйте его согласно своему требованию и какую функцию Вы хотите использовать наряду с загрузкой. Проверьте таблица функции и использование соответственно.
Завихрение:
Wget:
Важные Ресурсы для большего количества информации:
Вот хорошее объяснение завихрение по сравнению с Wget.
Таблица функций: Сравнивают ВИХРЕВЫЕ Функции с Другими Инструментами Загрузки
, Деталь завихрения поддерживала функции: Функции - что может завихриться, делают
, Деталь wget поддерживала функции: wget функции
Существует другое различие между wget и завихрением, которое я думаю, является значительным.
Wget является автономной утилитой командной строки, это предназначается, прежде всего, для получения интернет-контента быстро и просто.
Завихрение, с другой стороны, является в основном терминальным фронтэндом для мощной libcurl библиотеки. Libcurl обеспечивает очень мощный набор инструментов для работы с URL во всех их формах и разновидностях, и доступен почти для всех языков и платформ. Завихрение в основном дает Вам способность пользоваться этой библиотекой в сценариях оболочки.