Tôi đang cố gắng đăng nhập vào page bằng cách sử dụng Python.Đăng nhập vào trang web bằng python
tôi đã cố gắng sử dụng các bước được mô tả trên other Stack Overflow post này, và nhận được đoạn mã sau:
import urllib, urllib2, cookielib
username = 'username'
password = 'password'
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'username' : username, 'j_password' : password})
opener.open('http://friends.cisv.org/index.cfm', login_data)
resp = opener.open('http://friends.cisv.org/index.cfm?fuseaction=activities.list')
print resp.read()
nhưng điều đó đã cho tôi kết quả như sau:
<SCRIPT LANGUAGE="JavaScript">
alert('Sorry. You need to log back in to continue. You will be returned to the home page when you click on OK.');
document.location.href='index.cfm';
</SCRIPT>
Tôi đang làm gì sai?
Từ phần mở rộng .cfm trên tập lệnh xử lý của bạn, tôi cho rằng bạn đang sử dụng chương trình phụ trợ Coldfusion để thực sự xử lý các thông tin đăng nhập này. Chúng ta cần phải biết nội dung và thủ tục nằm trong tập tin đó là gì, bởi vì phản hồi sẽ được đưa vào python, nhưng Coldfusion sẽ chuyển javascript và chuyển hướng. Vấn đề này là serverside và không phải trong khách hàng python. – DeaconDesperado
Tôi cho rằng OP không sở hữu trang web và chỉ hy vọng tương tác với trang web theo chương trình với tư cách là người dùng. Việc xác thực trang web không có vấn đề gì cả, bạn chỉ cần xem dữ liệu biểu mẫu nào được gửi khi đăng nhập và cung cấp cùng một dữ liệu. Không cần phải biết những gì đang xảy ra phía máy chủ. Xem ví dụ của tôi dưới đây. – Acorn