我似乎无法使用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)
您缺少两个需要发布的输入 -
name='submitButton'
,value='Log In'
name='csrf'
,value=''
第二个值不断变化,因此您需要动态获取其值。如果你想查看这个输入的位置然后转到窗体结束标记,就在结束标记的上方,你会发现一个隐藏的输入。
因此,在login_data中包含这两个值,您就可以登录了。