Python请求登录网站

问题描述 投票:-1回答:1

我似乎无法使用python requests.session()函数登录我的大学网站。我已经尝试检索登录所需的所有标题和cookie但它没有使用我的凭据成功登录。它没有显示任何错误,但我应该登录后查看的源代码显示它仍然没有登录。

我的所有代码都在下面。我用我的凭据填写登录名和密码,但其余的都是确切的代码。

import requests

with requests.session() as r:
    url = "https://www.ouac.on.ca/apply/nonsecondary/intl/en_CA  /user/login"
    page = r.get(url)
    aspsessionid = r.cookies["ASPSESSIONID"]
    ouacapply1 = r.cookies["OUACApply1"]
    LOGIN = ""
    PASSWORD = ""
    login_data = dict(ASPSESSIONID=aspsessionid, OUACApply1=ouacapply1, login=LOGIN, password=PASSWORD)
    header = {"Referer":"https://www.ouac.on.ca/apply/nonsecondary/intl/en_CA/user/login", "User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0"}
    logged_in = r.post(url, data=login_data, headers=header)
    new_page = r.get(url="https://www.ouac.on.ca/apply/nonsecondary/intl/en_CA/profile/")
    plain_text = new_page.text
    print(plain_text)
python-3.x python-requests build-automation
1个回答
1
投票

您缺少两个需要发布的输入 -

  1. name='submitButton'value='Log In'
  2. name='csrf'value=''

第二个值不断变化,因此您需要动态获取其值。如果你想查看这个输入的位置然后转到窗体结束标记,就在结束标记的上方,你会发现一个隐藏的输入。

因此,在login_data中包含这两个值,您就可以登录了。

© www.soinside.com 2019 - 2024. All rights reserved.