Cả hai curl
và wget
được sử dụng để tải xuống các tập tin, vv Có bất kỳ lý do để sử dụng một trong những khác?
Cả hai curl
và wget
được sử dụng để tải xuống các tập tin, vv Có bất kỳ lý do để sử dụng một trong những khác?
Câu trả lời:
Sau khi bạn đã xác định "sử dụng đúng", hãy sử dụng wget
.
Tại sao? Đó là lý do:
Đệ quy! Điểm mạnh lớn của wget so với curl là khả năng tải xuống đệ quy hoặc thậm chí chỉ tải xuống mọi thứ được đề cập từ tài nguyên từ xa, có thể là trang HTML hoặc danh sách thư mục FTP.
Không biết xấu hổ sao chép từ đây
curl
thư viện . curl
được cung cấp bởi libcurl
- một thư viện đa nền tảng với API ổn định có thể được sử dụng bởi mỗi và mọi người. Sự khác biệt này là rất lớn vì nó tạo ra một thái độ hoàn toàn khác về cách làm mọi thứ trong nội bộ. Nó cũng hơi khó để tạo một thư viện hơn là một công cụ dòng lệnh "đơn thuần".
ống dẫn . curl
hoạt động giống như cat
lệnh Unix truyền thống , nó gửi nhiều thứ hơn stdout
và đọc nhiều hơn stdin
theo cách "mọi thứ đều là đường ống". wget
giống như cp
, sử dụng tương tự.
Bắn một lần . curl
về cơ bản được thực hiện để thực hiện chuyển dữ liệu một lần. Nó chỉ chuyển các URL mà người dùng chỉ định và không chứa bất kỳ logic tải xuống đệ quy nào cũng như bất kỳ loại trình phân tích cú pháp HTML nào.
Nhiều giao thức hơn . curl
hỗ trợ FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMB / CIFS, SMTP, RTMP và RTSP. Wget chỉ hỗ trợ HTTP, HTTPS và FTP.
Di động hơn . curl
xây dựng và chạy trên nhiều nền tảng hơn wget
. Ví dụ: OS / 400, TPF và các nền tảng "kỳ lạ" khác không phải là bản sao Unix đơn giản.
Thêm thư viện SSL và hỗ trợ SSL . curl
có thể được xây dựng với một trong số mười một (11!) thư viện SSL / TLS khác nhau và nó cung cấp nhiều quyền kiểm soát hơn và hỗ trợ rộng hơn cho các chi tiết giao thức. curl
hỗ trợ ghim khóa công khai.
Xác thực HTTP . curl
hỗ trợ nhiều phương thức xác thực HTTP, đặc biệt là qua các proxy HTTP: Cơ bản, Tiêu hóa, NTLM và Đàm phán
SOCKS . curl
hỗ trợ một số phiên bản giao thức SOCKS để truy cập proxy
Hai chiều . curl
cung cấp khả năng tải lên và gửi. wget
chỉ cung cấp hỗ trợ POST HTTP đơn giản.
Gửi nhiều dữ liệu / biểu mẫu dữ liệu HTTP , cho phép người dùng thực hiện "tải lên" HTTP và nói chung mô phỏng các trình duyệt và thực hiện tự động hóa HTTP ở phạm vi rộng hơn
curl
hỗ trợ gzip
và thổi phồng mã hóa nội dung và thực hiện giải nén tự động
curl
cung cấp và thực hiện giải nén HTTP được mã hóa chuyển, wget không
curl
hỗ trợ HTTP / 2 và nó thực hiện kết nối ngăn xếp kép bằng Happy Eyeballs
Nhiều hoạt động phát triển hơn . Trong khi điều này có thể được tranh luận, tôi xem xét ba số liệu ở đây: hoạt động danh sách gửi thư, tần suất cam kết mã nguồn và tần suất phát hành. Bất cứ ai theo dõi hai dự án này đều có thể thấy rằng dự án curl có tốc độ cao hơn rất nhiều trong tất cả các lĩnh vực này, và nó đã được như vậy trong hơn 10 năm. So sánh trên opelahoma
wget
wget
chỉ là dòng lệnh. Không có thư viện.
Đệ quy ! wget
Điểm mạnh lớn nhất so với curl là khả năng tải xuống đệ quy hoặc thậm chí chỉ tải xuống mọi thứ được đề cập từ một tài nguyên từ xa, có thể là trang HTML hoặc danh sách thư mục FTP.
Cũ hơn . wget
có dấu vết từ năm 1995, trong khi curl
có thể được theo dõi trở lại không sớm hơn cuối năm 1996.
GPL . wget
là 100% GPL v3. curl được MIT cấp phép.
GNU . wget
là một phần của dự án GNU và tất cả bản quyền được gán cho FSF. Dự án curl hoàn toàn độc lập và độc lập, hoàn toàn không có tổ chức nuôi dạy con cái với hầu hết các bản quyền thuộc sở hữu của Daniel.
wget
không yêu cầu thêm tùy chọn để chỉ cần tải xuống một URL từ xa vào một tệp cục bộ, trong khi curl
yêu cầu -o
hoặc -O
.
wget
hỗ trợ Danh sách Suffix công cộng để xử lý tên miền cookie, curl thì không.
wget
chỉ hỗ trợ GnuTLS hoặc OpenSSL để hỗ trợ SSL / TLS
wget
chỉ hỗ trợ Xác thực cơ bản là loại xác thực duy nhất trên proxy HTTP
wget
không hỗ trợ SOCKS
Khả năng phục hồi từ chuyển khoản bị hỏng sớm và tiếp tục tải xuống không có đối tác trong curl.
wget
có thể được gõ bằng cách chỉ sử dụng tay trái trên bàn phím qwerty!
curl -C -
tiếp tục tải xuống bị hỏng?
wget can be typed in using only the left hand on a qwerty keyboard!
, WTF ?? wget requires no extra options to simply download a remote URL to a local file, while curl requires -o or -O.
Có rất nhiều công cụ có thể tải về như curl
, snarf
, wget
, pavuk
, fget
, fetch
, lftp
, aria2
, HTTrack
vv Sử dụng nó theo yêu cầu của bạn và những tính năng mà bạn muốn sử dụng cùng với tải. Kiểm tra bảng tính năng và sử dụng cho phù hợp.
Curl:
Quên:
Tài nguyên quan trọng để biết thêm:
Dưới đây là lời giải thích tốt curl vs Wget .
Bảng tính năng: So sánh các tính năng của cURL với các công cụ tải xuống khác
Chi tiết các tính năng được hỗ trợ curl: Các tính năng - những gì có thể làm xoăn
Chi tiết các tính năng được hỗ trợ wget : tính năng wget
Chúng có nhiều chức năng chung, nhưng curl
có nhiều tùy chọn hơn. Đối với wget
nó đôi khi có thể đủ để lướt qua man wget
, nhưng đối với curl
tôi cần nghiên cứu trang web này trong một trình duyệt. Tôi tin rằng bất cứ điều gì trình duyệt của bạn có thể làm, curl
cũng có thể làm.
Có một sự khác biệt khác giữa wget và curl mà tôi nghĩ là quan trọng.
Wget là một tiện ích dòng lệnh độc lập chủ yếu dành cho việc truy xuất nội dung internet một cách nhanh chóng và đơn giản.
Mặt khác, Curl về cơ bản là một thiết bị đầu cuối cho thư viện libcurl mạnh mẽ. Libcurl cung cấp một bộ công cụ rất mạnh để làm việc với các URL ở mọi hình thức và hương vị của chúng, và có sẵn cho hầu hết tất cả các ngôn ngữ và nền tảng. Curl về cơ bản cung cấp cho bạn khả năng sử dụng thư viện này trong các kịch bản shell.