Jak mogę pobrać plik ZIP za pomocą polecenia curl? Próbowałem curl -sO
, ale wystąpił błąd. Chcę pobrać plik zip z adresu:
http://github.com/ziyaddin/xampp/archive/master.zip
ale nie mogę. Co mam wpisać?
downloads
command-line
zip
curl
Ziyaddin Sadigov
źródło
źródło
Odpowiedzi:
Użyłem
curl -LO
i działało dobrze.wget
też działa.źródło
Spróbuj wget zamiast zwijania się:
wget http://github.com/ziyaddin/xampp/archive/master.zip
źródło
wget
zamiastcurl
?unzip
podczas pobierania pliku pobranegocurl
i działało dobrze zwget
Możesz użyć:
Zapisuje jako:
xampp-cli-master.zip
-L
w przypadku znalezienia przekierowania.-O
do zdalnych nazw plików (master.zip
)-J
(użyj z-O
), aby zezwolić na zdalną nazwę pliku nagłówka (xampp-cli-master.zip
)Lub użyj,
-o
aby utworzyć własną nazwę pliku:curl https://github.com/ziyaddin/xampp/archive/master.zip -L -o MyFilename.zip
Zapisuje jako:
MyFilename.zip
Uwaga: (GitHub obsługuje SSL - użyj
https://
)Możesz także użyć
curlrc
pliku konfiguracyjnego lub aliasu polecenia CURL,curl -O -L
aby umożliwić mu działanie podobne do WGET.Zobacz : https://curl.haxx.se/docs/manpage.html#OPTIONS (patrz: -O , -J , -L , -o )
Zwróć uwagę na ostrzeżenie o używaniu CURL z opcją -J:
źródło
Jeśli chcesz pobrać plik, użyj
wget [option]... [URL]...
zamiast tego.Aby uzyskać więcej informacji dotyczących opcji, po prostu wpisz to w terminalu:
man wget
Dla ciebie cel:
wget http://github.com/ziyaddin/xampp/archive/master.zip
Pamiętaj, że plik .zip zostanie zapisany w bieżącym katalogu, w którym się znajdujesz.
źródło
wget
zcurl
. Dla każdego, kto zastanawia się nad różnicami między nimi, zobacz tutaj .curl
który również przyczynia się dowget
mniejszej roli. Jednym rażącym pominięciem (na podstawie mojego jednorazowego małego projektu) jest to, że wget jest 10 razy szybszy niż zwijanie się (<2 sekundy vs. 12 sekund) przy pobieraniu wschodów i zachodów słońca zhttps://www.timeanddate.com
Aby pobrać pliki w GitHub (lub innej witrynie, która dokonuje przekierowań)
curl
, musisz przekazać-L
(Śledź przekierowania), więc użyj:curl -L http://github.com/ziyaddin/xampp/archive/master.zip -o xampp.zip
źródło
„curl -LOk” powoduje, że korzysta z niezabezpieczonych protokołów (-k), wyłącza sprawdzanie certyfikatów SSL (które kończą się niepowodzeniem z powodu nieprawidłowej ścieżki niezgodnej z certyfikatem) i tworzy plik wyjściowy przy użyciu nazwy pliku (-O) zaproponowanej ze zdalnego serwera (także niepewny). Moim zdaniem, serwer powinien być lepiej skonfigurowany, aby w razie potrzeby tworzyć lokalne aliasy przekierowujące, aby uniknąć konieczności przekazywania tej niezgodnej części adresu URL. Ale przekierowanie odbywa się przy użyciu tylko przekierowania HTTP (błąd HTTP 30x), co powoduje problemy z zwijaniem się, które nie następują (domyślnie) to (niezabezpieczone) przekierowanie, a opcja (-k) wyłącza tę kontrolę bezpieczeństwa. Zamiast korzystać z przekierowań HTTP (przeniesionych na stałe), proszę dodać łącze wewnętrzne w systemie plików serwera. Jeśli jest to potrzebne, ponieważ adres URL jest faktycznie hostowany na innym fizycznym serwerze bez bezpośredniego dostępu między ich systemami plików, należy użyć innej nazwy DNS dla tego hosta, aby klienci mogli bezpośrednio zapytać o poprawny adres, bez żadnego przekierowania. Następnie napraw swoje strony internetowe (możesz użyć dzienników swojego serwera internetowego, aby zobaczyć, gdzie zwracane są przekierowania HTTP 30x i które strony mogą wymagać sprawdzenia i aktualizacji). Zmuszanie klientów do korzystania z niezabezpieczonych / niezaznaczonych protokołów nie jest dobrym rozwiązaniem.
Jest to z pewnością problem bardzo złej konfiguracji na serwerze WWW: spróbuj skontaktować się z administratorem, aby to naprawić.
źródło
możesz też użyć Axela . axel to lekki akcelerator pobierania z wiersza poleceń. obsługuje
HTTP, HTTPS, FTP
iFTPS
protokoły. to miła i szybsza alternatywa.zainstaluj
axel
za pomocą:następnie pobierz plik przez:
źródło
Użyj opcji
-L
śledzenia przekierowań, możesz także użyć--output
opcji podania ścieżki i nazwy pliku zip. Na przykład:Uwaga: Użyj sudo, jeśli nie masz uprawnień do zapisu w folderze docelowym.
źródło