Cụ thể, tôi muốn có thể tải xuống một số trang nhất định từ hồ sơ người dùng của mình trên các trang web Stack Exchange khác nhau. Tuy nhiên, tôi muốn thực hiện việc này một cách tự động (sử dụng một cron
công việc), từ dòng lệnh và ở định dạng có thể phân tích được. Tôi rất thích sử dụng Linux cho việc này, nhưng tôi có thể truy cập vào máy Mac hoặc Windows nếu cần thiết.
Lý tưởng nhất, tôi muốn sử dụng một công cụ như Wget hoặc cURL để tìm nạp các trang. Tôi không biết làm thế nào để vượt qua đăng nhập mặc dù. Tôi đã thấy các đề xuất đề cập rằng bạn có thể đăng nhập qua Firefox, xuất cookie có liên quan và nhập nó vào Wget thông qua --load-cookies
tùy chọn của nó . Ví dụ ở đây và đây . Mặc dù điều này hoạt động nếu tôi vừa đăng nhập, nó không hoạt động sau một thời gian. Tôi đoán bởi vì mã thông báo ID phải được làm mới.
Vì vậy, ngay sau khi đăng nhập vào SU và xuất cookie của tôi, tôi có thể làm:
wget --load-cookies cookies.txt \
https://superuser.com/users/151431/terdon?tab=responses
Sau một vài phút, tôi gặp lỗi 404:
wget -O ~/stack/$(date +%s) --load-cookies ~/cookies.txt \
https://superuser.com/users/151431/terdon?tab=responses
--2013-08-06 04:04:14-- https://superuser.com/users/151431/terdon?tab=responses
Resolving superuser.com (superuser.com)... 198.252.206.16
Connecting to superuser.com (superuser.com)|198.252.206.16|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2013-08-06 04:04:15 ERROR 404: Not Found.
Vậy, làm thế nào tôi có thể tự động đăng nhập vào một trang web hỗ trợ OpenID từ dòng lệnh?
Tái bút Tôi nghĩ rằng điều này phù hợp hơn ở đây so với trong các ứng dụng web vì câu hỏi của tôi thực sự là về khía cạnh dòng lệnh và không phải là chi tiết thực tế của trang web được đề cập. Tôi đoán rằng mọi giải pháp sẽ được áp dụng cho tất cả các trang web OpenID .