Bạn từng tự hỏi có cách nào tải một trang web mà không cần trình duyệt web không? Bạn may mắn. Với sức mạnh của dòng lệnh Linux, mọi thứ đều có thể. Có nhiều phương pháp để hoàn thành nhiệm vụ này, nhưng chúng tôi tập trung vào wget trong bài viết này.
Wget là gì?
wget là tiện ích dòng lệnh GNU để truy xuất nội dung từ máy chủ web. Là một trình tải xuống, wget rất mạnh mẽ bản thân nó. wget có khả năng làm việc với nhiều giao thức, như HTTP, HTTPS và FTP. Các khả năng khác của tiện ích wget bao gồm:
- khả năng chạy im lặng hoặc chạy nền
- tích hợp với script Linux hoặc CRON jobs
- có thể chạy nhiều tải xuống cùng lúc
- tải file yêu cầu mật khẩu
Tại sao dùng wget?
Mặc dù có nhiều công cụ có thể thực hiện hoạt động trang web, wget cho phép phạm vi rộng. Nó cho phép người dùng hoạt động mà không cần trình duyệt web bằng cách:
- tải bản sao đầy đủ của một trang web
- tải một file cụ thể từ trang web
- tự động hóa việc truy xuất file theo yêu cầu
- lấy tài liệu từ cổng xác thực
wget cũng được tích hợp sẵn trong hầu hết bản phân phối Linux, vì vậy nó có sẵn ngay từ đầu, không cần cài đặt thêm.
Cơ bản về wget
Bắt đầu với wget khá đơn giản. Đầu tiên, mở Terminal Linux.
Khi cửa sổ terminal mở, bạn có thể chạy wget như sau:
wget URL
Thay thế "URL" bằng URL chính xác của trang web.

Để tiếp tục file tải xuống một phần, dùng công tắc -c trong lệnh như sau:
wget -c URL
Để làm cho tải xuống wget im lặng, thêm công tắc -q vào lệnh wget ban đầu:
wget -q URL
Nếu bạn không chắc về việc sử dụng đúng các tùy chọn trong wget, hãy dùng:
wget --help
Ngoài trang web, bạn cũng có thể tải file bằng wget. Ví dụ:
wget https://example.com/file.zip
Nó chỉ đơn giản lấy file và lưu vào thư mục hiện tại.
Nếu bạn muốn lưu với tên file khác hoặc vị trí khác, dùng cờ -O.
wget https://example.com/file.zip -O ~/Documents/my_downloaded_file.zip
Tùy chọn FTP
Như đã lưu ý trước đó, wget cũng hỗ trợ FTP. Nếu bạn chỉ chỉ định trang FTP:
wget ftp://ftp.example.com
wget sẽ giả định bạn muốn đăng nhập ẩn danh. Thay vào đó, bạn có thể chỉ định thủ công thứ như tên người dùng và mật khẩu với các cờ sau:
--ftp-user=USER: chỉ định tên người dùng để đăng nhập--ftp-password=PASS: chỉ định mật khẩu--no-passive-ftp: tắt chế độ truyền thụ động
Timeouts, Retries và Tải xuống thất bại
Cuối cùng, wget đi kèm với một số tùy chọn liên quan đến vấn đề kết nối máy chủ và timeout. Không phải tất cả thất bại đều có thể xử lý, nhưng các cờ sau đều nhằm giúp xử lý vấn đề máy chủ:
--tries=NUMBER: chỉ định số lần thử lại tải xuống--retry-connrefused: Thử lại tải xuống ngay cả khi kết nối bị máy chủ từ chối--timeout=SECONDS: cài đặt toàn cục – bao lâu chờ trước khi timeout--wait=SECONDS: bao lâu chờ giữa các tải xuống thành công (nếu lặp lại)
Ai sẽ dùng wget?
Đọc bài này, bạn có thể nghĩ, "Nghe có vẻ phức tạp và khó khăn hơn nhiều so với dùng trình duyệt web", nhưng bất kỳ ai cũng có thể tìm thấy công dụng cho tiện ích này, dù là quản trị viên hệ thống hay lập trình viên. Dưới đây là hai ví dụ về cách tôi dùng lệnh này suốt ngày, với vai trò đôi khi thay đổi.
Nó làm cho công việc của tôi với tư cách nhà nghiên cứu bảo mật dễ dàng hơn vì tôi có thể lên lịch lệnh này để tải nhiều trang web cùng lúc. Tôi có thể làm điều này bằng cách tạo file văn bản (dùng bất kỳ trình soạn thảo nào) chứa một số URL trong danh sách (mỗi URL một dòng). Bằng cách thực thi lệnh dưới đây với công tắc -i, wget sẽ tải từng trang web trong danh sách.
wget -i tên_file_tải URL
Là quản trị viên hệ thống, tôi có thể lấy tài liệu từ vị trí được bảo vệ mật khẩu dễ dàng. Điều này có thể không hỗ trợ bạn tốt offline, nhưng bằng cách chạy wget cho phép, nó cho phép bạn thêm thông tin xác thực vào trang web.
wget --user=user_id --password=user_password URL
Đó là tất cả! Có khó như bạn nghĩ không? Khả năng tự động hóa hành động với wget sẽ tiết kiệm thời gian và cho bạn khả năng làm việc offline. Bạn có gì để mất?
Để lại bình luận dưới đây và cho chúng tôi biết bạn có thấy điều này hữu ích không.