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