Python 3如何验证页面上的链接

时间:2014-11-27 02:38:35

标签: python python-3.x authorization urllib

我正在尝试使用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)

0 个答案:

没有答案