Làm cách nào để tải xuống tệp ZIP bằng lệnh curl? Tôi đã thử curl -sO
, nhưng đã xảy ra lỗi. Tôi muốn tải xuống tệp zip từ địa chỉ:
http://github.com/ziyaddin/xampp/archive/master.zip
nhưng không thể. Tôi phải gõ gì?
Làm cách nào để tải xuống tệp ZIP bằng lệnh curl? Tôi đã thử curl -sO
, nhưng đã xảy ra lỗi. Tôi muốn tải xuống tệp zip từ địa chỉ:
http://github.com/ziyaddin/xampp/archive/master.zip
nhưng không thể. Tôi phải gõ gì?
Câu trả lời:
Tôi đã sử dụng curl -LO
và nó hoạt động tốt. wget
làm việc quá
Hãy thử wget thay vì curl: wget http://github.com/ziyaddin/xampp/archive/master.zip
wget
thay vì curl
?
unzip
tệp được tải xuống curl
và nó hoạt động tốt vớiwget
Bạn có thể dùng:
curl https://github.com/ziyaddin/xampp/archive/master.zip -O -J -L
Lưu dưới dạng: xampp-cli-master.zip
-L
trong trường hợp có một chuyển hướng được tìm thấy.-O
cho tên tệp từ xa ( master.zip
)-J
(sử dụng với -O
) để cho phép tên tệp tiêu đề từ xa ( xampp-cli-master.zip
)
Hoặc sử dụng -o
để tạo tên tệp của riêng bạn:
curl https://github.com/ziyaddin/xampp/archive/master.zip -L -o MyFilename.zip
Lưu dưới dạng: MyFilename.zip
Lưu ý: (GitHub hỗ trợ SSL - sử dụng https://
)
Bạn cũng có thể sử dụng curlrc
tệp cấu hình hoặc bí danh lệnh CURL để sử dụng curl -O -L
để cho phép nó hoạt động tương tự như WGET.
Tham khảo: https://curl.haxx.se/docs/manpage.html#OPTIONS (Xem: -O , -J , -L , -o )
Lưu ý cảnh báo sử dụng CURL với tùy chọn -J:
Không có nỗ lực giải mã% hậu quả (chưa) trong tên tệp được cung cấp, vì vậy tùy chọn này có thể cung cấp cho bạn các tên tệp khá bất ngờ.
CẢNH BÁO : Thực hiện sử dụng hợp lý tùy chọn này, đặc biệt là trên Windows. Một máy chủ giả mạo có thể gửi cho bạn tên của một DLL hoặc tệp khác có thể được tải tự động bởi Windows hoặc một số phần mềm bên thứ ba.
Nếu bạn muốn tải về sử dụng tập tin wget [option]... [URL]...
thay thế.
Để biết thêm thông tin về các tùy chọn, chỉ cần nhập thông tin này vào Terminal của bạn: man wget
Cho bạn mục đích:
wget http://github.com/ziyaddin/xampp/archive/master.zip
Lưu ý rằng tệp .zip sẽ được lưu trong thư mục hiện tại bạn đang ở.
wget
hơn curl
. Đối với bất cứ ai tự hỏi sự khác biệt giữa hai xem tại đây .
curl
người cũng đóng góp wget
trong một vai trò nhỏ. Một thiếu sót rõ ràng (dựa trên dự án nhỏ một lần của tôi) là wget nhanh hơn 10 lần so với curl (<2 giây so với 12 giây) lấy lại thời gian mặt trời mọc và mặt trời lặn từhttps://www.timeanddate.com
Để tải xuống các tệp trong GitHub (hoặc bất kỳ trang web nào thực hiện chuyển hướng) bằng cách sử dụng curl
, bạn phải vượt qua -L
(Thực hiện theo chuyển hướng), vì vậy hãy sử dụng:
curl -L http://github.com/ziyaddin/xampp/archive/master.zip -o xampp.zip
"Curl -LOk" làm cho nó sử dụng các giao thức không an toàn (-k), vô hiệu hóa kiểm tra chứng chỉ SSL (không thành công do đường dẫn không khớp với chứng chỉ) và tạo tệp đầu ra bằng tên tệp (-O) được đề xuất từ máy chủ từ xa (cũng không an toàn). Theo tôi, máy chủ nên được cấu hình tốt hơn để tạo các bí danh chuyển hướng cục bộ ở những nơi cần thiết, để tránh phải vượt qua phần không tuân thủ này của URL. Nhưng việc chuyển hướng được thực hiện chỉ bằng cách sử dụng chuyển hướng HTTP (lỗi HTTP 30x), điều này gây ra sự cố để không theo dõi (theo mặc định) điều này (không an toàn) và tùy chọn (-k) vô hiệu hóa kiểm tra bảo mật này. Vì vậy, thay vì sử dụng chuyển hướng HTTP (di chuyển vĩnh viễn), vui lòng thêm một số liên kết nội bộ trên hệ thống tệp của máy chủ. Nếu điều này là cần thiết vì trên thực tế URL được lưu trữ trên một máy chủ vật lý khác không có quyền truy cập trực tiếp giữa các hệ thống tệp của họ, bạn nên sử dụng tên DNS khác cho máy chủ này, để khách hàng sẽ truy vấn trực tiếp chính xác mà không cần chuyển hướng. Sau đó sửa các trang web của bạn (bạn có thể sử dụng nhật ký máy chủ web của mình để xem nơi chuyển hướng HTTP 30x được trả về và trang web nào có thể cần được kiểm tra và cập nhật). Buộc khách hàng sử dụng các giao thức không an toàn / không được kiểm tra không phải là một lựa chọn tốt.
Vì vậy, đây chắc chắn là một vấn đề về cấu hình rất xấu trên máy chủ web: hãy thử liên hệ với quản trị viên của họ để khắc phục điều đó.
tốt, bạn có thể sử dụng Axel là tốt. axel là một trình tăng tốc tải xuống dòng lệnh. nó hỗ trợ HTTP, HTTPS, FTP
và FTPS
giao thức. nó thay thế tốt đẹp và nhanh hơn.
cài đặt axel
bằng:
apt-get install axel
sau đó tải xuống tệp của bạn bằng cách:
axel http://github.com/ziyaddin/xampp/archive/master.zip
Sử dụng tùy chọn -L
để theo dõi chuyển hướng, bạn cũng có thể sử dụng --output
tùy chọn để cung cấp đường dẫn và tên cho tệp zip. Ví dụ:
sudo curl -L https://github.com/CISOfy/lynis/archive/master.zip --output /etc/lynis.zip
Lưu ý: Sử dụng sudo nếu bạn không có quyền ghi vào thư mục đích.