Tôi đã sử dụng một giải pháp sử dụng lynx và wget. Khi bạn muốn sử dụng wget để tải xuống một số tệp từ một trang web yêu cầu đăng nhập, bạn chỉ cần một tệp cookie. Để tạo tệp cookie, tôi chọn lynx. lynx là trình duyệt web văn bản. Trước tiên, bạn cần tệp cấu hình cho lynx để lưu cookie. Tạo tệp lynx.cfg. Viết những cấu hình này vào tập tin.
SET_COOKIES:TRUE
ACCEPT_ALL_COOKIES:TRUE
PERSISTENT_COOKIES:TRUE
COOKIE_FILE:cookie.file
Sau đó bắt đầu lynx với lệnh này:
lynx -cfg=lynx.cfg http://the.site.com/login
Sau khi bạn nhập vào tên người dùng và mật khẩu, và chọn 'bảo hộ tôi trên máy này' hoặc cái gì đó tương tự. Nếu đăng nhập thành công, bạn sẽ thấy một trang web văn bản đẹp của trang web. Và bạn đăng xuất. Trong thư mục hiện tại, bạn sẽ tìm thấy tệp cookie có tên là cookie.file. Đây là những gì chúng ta cần cho wget.
Sau đó, wget có thể tải xuống tệp từ trang web bằng lệnh này.
wget --load-cookies ./cookie.file http://the.site.com/download/we-can-make-this-world-better.tar.gz
Đối với curl: http://stackoverflow.com/questions/12399087/curl-to-access-a-page-that-requires-a-login-from-a-different-page –