Cả hai curlvà 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 curlvà 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
curlthư 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 . curlhoạt động giống như catlệnh Unix truyền thống , nó gửi nhiều thứ hơn stdoutvà đọc nhiều hơn stdintheo cách "mọi thứ đều là đường ống". wgetgiống như cp, sử dụng tương tự.
Bắn một lần . curlvề 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 . curlhỗ 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 . curlxâ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 . curlcó 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. curlhỗ trợ ghim khóa công khai.
Xác thực HTTP . curlhỗ 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 . curlhỗ trợ một số phiên bản giao thức SOCKS để truy cập proxy
Hai chiều . curlcung cấp khả năng tải lên và gửi. wgetchỉ 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
curlhỗ trợ gzipvà 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
wgetwgetchỉ 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 . wgetcó dấu vết từ năm 1995, trong khi curlcó thể được theo dõi trở lại không sớm hơn cuối năm 1996.
GPL . wgetlà 100% GPL v3. curl được MIT cấp phép.
GNU . wgetlà 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.
wgetkhô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 curlyêu cầu -ohoặ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, HTTrackvv 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 curlcó nhiều tùy chọn hơn. Đối với wgetnó đôi khi có thể đủ để lướt qua man wget, nhưng đối với curltô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, curlcũ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.