Как я могу скачать 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 будет сохранен в текущем каталоге, в котором вы находитесь.
wgetover 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, если у вас нет прав для записи в целевую папку.