Как я могу скачать ZIP файл с помощью команды curl? Я пытался curl -sO
, но произошла ошибка. Я хочу скачать zip-файл с адреса:
http://github.com/ziyaddin/xampp/archive/master.zip
но не могу Что я должен печатать?
Как я могу скачать ZIP файл с помощью команды curl? Я пытался curl -sO
, но произошла ошибка. Я хочу скачать zip-файл с адреса:
http://github.com/ziyaddin/xampp/archive/master.zip
но не могу Что я должен печатать?
Ответы:
Я использовал, curl -LO
и это работало нормально. wget
тоже работает
Попробуйте wget вместо curl: wget http://github.com/ziyaddin/xampp/archive/master.zip
wget
вместо curl
?
unzip
файла, загруженного с curl
, и он работал нормальноwget
Вы можете использовать:
curl https://github.com/ziyaddin/xampp/archive/master.zip -O -J -L
Сохраняет как: xampp-cli-master.zip
-L
в случае обнаружения перенаправления.-O
для удаленных имен файлов ( master.zip
)-J
(использовать с -O
), чтобы разрешить удаленный заголовок файла ( xampp-cli-master.zip
)
Или используйте -o
для создания собственного имени файла:
curl https://github.com/ziyaddin/xampp/archive/master.zip -L -o MyFilename.zip
Сохраняет как: MyFilename.zip
Примечание: (GitHub поддерживает SSL - используйте https://
)
Вы также можете использовать curlrc
файл конфигурации или псевдоним команды CURL, чтобы curl -O -L
позволить ей работать аналогично WGET.
Консультируйтесь: https://curl.haxx.se/docs/manpage.html#OPTIONS (см .: -O , -J , -L , -o )
Обратите внимание на предупреждение об использовании CURL с опцией -J:
Нет попытки декодировать% -последовательности (пока) в указанном имени файла, поэтому эта опция может предоставить вам довольно неожиданные имена файлов.
ПРЕДУПРЕЖДЕНИЕ . Будьте осторожны при использовании этой опции, особенно в Windows. Мошеннический сервер может отправить вам имя DLL или другого файла, который может быть автоматически загружен Windows или каким-либо сторонним программным обеспечением.
Если вы хотите скачать файл, используйте wget [option]... [URL]...
вместо этого.
Для получения дополнительной информации о параметрах, просто введите это в свой терминал: man wget
Для вашей цели:
wget http://github.com/ziyaddin/xampp/archive/master.zip
Обратите внимание, что файл .zip будет сохранен в текущем каталоге, в котором вы находитесь.
wget
over curl
. Для тех, кто интересуется различием между двумя, смотрите здесь .
curl
который также вносит свой вклад wget
в второстепенную роль. Одно вопиющее упущение (основанное на моем одномоментном небольшом проекте) заключается в том, что wget в 10 раз быстрее, чем curl (<2 секунды против 12 секунд), получая время восхода и захода солнца изhttps://www.timeanddate.com
Чтобы загрузить файлы в GitHub (или на любой другой сайт, который делает перенаправления) curl
, вы должны пройти -L
(Follow redirects), поэтому используйте:
curl -L http://github.com/ziyaddin/xampp/archive/master.zip -o xampp.zip
«curl -LOk» делает это, используя небезопасные протоколы (-k), отключая проверки SSL-сертификатов (которые не проходят из-за неправильного пути, не совпадающего с сертификатом), и создает выходной файл, используя имя файла (-O), предложенное с удаленного сервера. (также небезопасно). По моему мнению, сервер должен быть лучше настроен для создания псевдонимов локального перенаправления, где это необходимо, чтобы избежать необходимости передавать эту несоответствующую часть URL. Но перенаправление выполняется только с помощью перенаправления HTTP (ошибка HTTP 30x), что вызывает проблемы с скручиванием, которые не следуют (по умолчанию) этому (незащищенному) перенаправлению, а параметр (-k) отключает эту проверку безопасности. Поэтому вместо использования перенаправлений HTTP (перемещенных навсегда) добавьте внутреннюю ссылку в файловую систему сервера. Если это необходимо, поскольку URL-адрес фактически размещен на другом физическом сервере без прямого доступа между их файловыми системами, вам следует использовать другое DNS-имя для этого хоста, чтобы клиенты запрашивали правильное имя напрямую, без какого-либо перенаправления. Затем исправьте свои веб-страницы (вы можете использовать журналы вашего веб-сервера, чтобы узнать, куда возвращаются перенаправления HTTP 30x и какие веб-страницы, возможно, необходимо проверить и обновить). Принудительное использование клиентами незащищенных / непроверенных протоколов не является хорошим вариантом.
Так что это определенно проблема очень плохой конфигурации на веб-сервере: попробуйте связаться с администратором, чтобы это исправить.
ну, вы можете использовать Аксель . axel - легкий ускоритель загрузки из командной строки. он поддерживает HTTP, HTTPS, FTP
и FTPS
протоколы. это хорошая и быстрая альтернатива.
установить axel
с помощью:
apt-get install axel
затем загрузите ваш файл:
axel http://github.com/ziyaddin/xampp/archive/master.zip
Используйте опцию, -L
чтобы следовать перенаправлениям, вы можете также использовать --output
опцию, чтобы дать путь и имя к почтовому файлу. Например:
sudo curl -L https://github.com/CISOfy/lynis/archive/master.zip --output /etc/lynis.zip
Примечание. Используйте sudo, если у вас нет прав для записи в целевую папку.