gpt4 book ai didi

python - 使用 Python 的请求登录网站

转载 作者:太空宇宙 更新时间:2023-11-04 04:21:03 26 4
gpt4 key购买 nike

所以我目前正在为我的学校做一个项目,我需要使用 Python 登录我们的食堂网站。我正在使用请求,但代码不工作。它只是将我重定向到起始页面,而不是用户页面。我在其他网站上试过这段代码,效果很好。我发现,这个网站使用了一些 JavaServer 页面。这可能是问题所在吗?

我在 Youtube 上尝试了一些教程,甚至在这里搜索了一些内容,但对我没有任何帮助。

headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 OPR/58.0.3135.53'
}


login_data = {
'j_username': '**',
'j_password': '**',
'terminal': 'false',
'type': 'web',
'_spring_security_remember_me': 'on'
}


with requests.session() as c:
url = 'https://jidelna.mgo.opava.cz:6204/faces/secured/info.jsp?terminal=false&keyboard=false&printer=false'


r = c.get(url)
soup = BeautifulSoup(r.content, features="html.parser")
login_data['_csrf'] = soup.find('input', attrs={'name': '_csrf'})['value']
login_data['targetUrl'] = soup.find('input', attrs={'name': 'targetUrl'})['value']

r = c.post(url, data=login_data, headers=headers)

最佳答案

您将发布请求发送到错误的 url。如果您使用开发人员工具检查登录表单,您可以获得表单的 action 属性。

enter image description here

在开发人员工具的网络选项卡中,您可以看到正在发出的 POST 请求和参数。您应该向 https://jidelna.mgo.opava.cz:6204/j_spring_security_check

发出发布请求

enter image description here

enter image description here

如果所有这些都不起作用,还可以考虑尽可能模拟 header 。正在发送一个 cookie,因此您可能必须使用 session与请求。

enter image description here

如果其他一切都失败了,总会有 selenium .

关于python - 使用 Python 的请求登录网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54487023/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com