Как я могу загрузить 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
Вы можете использовать:
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 (См.: -О, - Джей, - Я, -о)
Обратите внимание на предупреждение об использовании CURL с опцией -J:
В предоставленном имени файла нет попыток декодирования %-последовательностей (пока), поэтому этот параметр может предоставить вам довольно неожиданные имена файлов.
предупреждение: Разумно используйте эту опцию, особенно в Windows. Мошеннический сервер может отправить вам имя библиотеки DLL или другого файла, который, возможно, может быть автоматически загружен Windows или каким-либо сторонним программным обеспечением.
Если вы хотите загрузить файл, используйте 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
"curl -LOk" делает это с использованием небезопасных протоколов (-k), отключая проверки SSL-сертификата (которые завершаются неудачей из-за неправильного пути, не соответствующего сертификату), и создает выходной файл, используя имя файла (-O), предложенное с удаленного сервера (также небезопасно).На мой взгляд, сервер лучше настроить на создание локальных псевдонимов перенаправления там, где это необходимо, чтобы избежать необходимости передавать эту несоответствующую часть URL-адреса. Но перенаправление выполняется только с использованием перенаправления HTTP (ошибка HTTP 30x), что вызывает проблемы с curl, который не следует (по умолчанию) за этим (небезопасным) перенаправлением, а опция (-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
возможность указать путь и имя к zip-файлу. Например:
sudo curl -L https://github.com/CISOfy/lynis/archive/master.zip --output /etc/lynis.zip
Примечание: Используйте sudo, если у вас нет прав на запись в целевую папку.
Что это за сообщение об ошибке?