2009-03-11 34 views
113

Chúng có giống nhau hay không? Có thể một số điều được thực hiện với một nhưng không phải là khác? Đó là những gì? Hay là, vào cuối ngày, một vấn đề quen thuộc?Điều gì là tốt hơn, curl hoặc wget?

+2

MarcusQ có câu trả lời đề xuất xem xét việc so sánh được thực hiện bởi anh chàng curl: https://daniel.haxx.se/docs/curl-vs-wget.html. Thật không may, câu trả lời đã bị xóa thay vì được chuyển thành nhận xét. –

Trả lời

11

Cả hai đều cung cấp các tùy chọn vô tận, hầu hết trong số đó tôi chưa từng sử dụng. Tuy nhiên, tôi có xu hướng thích wget nhiều hơn như nó theo mặc định tiết kiệm đầu ra từ URL bạn cung cấp - hoàn hảo để tải xuống. Curl đi theo cách khác, và hiển thị đầu ra trực tiếp đến thiết bị đầu cuối (theo mặc định).

39

Nếu bạn đang lập trình, bạn nên sử dụng curl. Nó có một api tốt đẹp và có sẵn cho hầu hết các ngôn ngữ. Bắn phá ra os để chạy wget là một kludge và không nên được thực hiện nếu bạn có một giao diện API!

+3

Tôi chưa bao giờ gặp phải bất kỳ sự cố nào kích hoạt WGET thành tập lệnh Perl để tự động tải xuống nội dung. Tuy nhiên, với CURL, tôi thường xuyên gặp phải lỗi ** 18 - chuyển đã đóng với dữ liệu đọc còn lại còn lại ** (xem http://stackoverflow.com/questions/1759956/curl-error-18-transfer-closed-with-outstanding- đọc dữ liệu còn lại). Lỗi này tôi chủ yếu nhận được trong khi cố gắng sử dụng nó trong kịch bản Perl, nhưng WGET không bao giờ mang lại cho tôi những vấn đề như vậy. Điều này có nên được cân nhắc không? – SexyBeast

+5

Nếu bạn đang sử dụng perl, bạn thực sự nên sử dụng thư viện LWP (LWP :: Simple). Nó luôn luôn dễ dàng hơn để đọc mã phản ứng, gán chức năng gọi lại, và bắt ngoại lệ hơn để phân tích đầu ra văn bản của quá trình khác. –

27

Có một số chức năng chồng lên nhau. Trong khi GNU wget là một gói để truy xuất các tệp bằng cách sử dụng HTTP/FTP, curl chuyển dữ liệu bằng một URL. Như đã lưu ý trong liên kết được chia sẻ bởi MarkusQ, wget có thể tải xuống đệ quy - xem this comparison article để biết thêm chi tiết của tác giả curl.

19

cURL được thiết kế để truyền dữ liệu theo cả hai hướng trong khi wget dành cho (các) tệp tải xuống không tương tác từ một nguồn cụ thể. Có some chồng chéo trong chức năng, nhưng chúng là not meant để thực hiện chính xác the same things.

Nó thực sự phụ thuộc vào những gì bạn đang cố gắng làm; cho các tác vụ đơn giản như tải xuống các tệp wgetcURL có thể so sánh được, nhưng điều này thực sự chỉ làm xước bề mặt của một trong hai công cụ.

Các vấn đề liên quan