我正在尝试使用Python 3登录此页面:
https://sentral.hillsgrammar.nsw.edu.au/portal/login
然后我想导航到另一个页面下载文件。
我的问题是我尝试过urllib基本身份验证 - 这似乎不起作用 我尝试过这样的事情:
auth_handler = urllib.request.HTTPBasicAuthHandler()
auth_handler.add_password(realm='sentral.hillsgrammar.nsw.edu.au',
uri='http://sentral.hillsgrammar.nsw.edu.au/portal/login',
user='USERNAME',
passwd='PASSWORD')
opener = urllib.request.build_opener(auth_handler)
# ...and install it globally so it can be used with urlopen.
urllib.request.install_opener(opener)
print(urllib.request.urlopen('http://sentral.hillsgrammar.nsw.edu.au/portal/dashboard').read())
虽然我不知道这是不是真正的领域 - 只是一个猜测。 那么为什么这段代码会将登录页面作为HTML而不是仪表板呢?为什么不进行身份验证?
谢谢, Itechmatrix
编辑: 我的新代码:
from requests import session
payload = {
'action': 'login',
'username': username,
'password': password
}
with session() as c:
c.post('http://sentral.hillsgrammar.nsw.edu.au/portal/login', data=payload)
request = c.get('http://sentral.hillsgrammar.nsw.edu.au/portal/timetable/mytimetable')
print(request.headers)
print(request.text)