Як я можу завантажити ZIP-файл із командою curl? Я спробував curl -sO
, але сталася помилка. Я хочу завантажити поштовий файл з адреси:
http://github.com/ziyaddin/xampp/archive/master.zip
але не може. Що я повинен набрати?
Як я можу завантажити ZIP-файл із командою curl? Я спробував curl -sO
, але сталася помилка. Я хочу завантажити поштовий файл з адреси:
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
понад curl
. Для тих, хто цікавиться різницями між двома, дивіться тут .
curl
який також вносить свій внесок wget
у другорядну роль. Один вражаючий упущення (заснований на моєму колись невеликому проекті) полягає в тому, що wget в 10 разів швидше завитка (<2 секунди проти 12 секунд), отримуючи час сходу і заходу сонця зhttps://www.timeanddate.com
Для завантаження файлів у GitHub (або будь-якому іншому веб-сайті, що здійснює переадресацію) за допомогою curl
, ви повинні пройти -L
(Follow the 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 . 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, якщо у вас немає дозволів писати в цільову папку.