gpt4 book ai didi

python - 我如何知道登录网络 session 的要求?

转载 作者:太空宇宙 更新时间:2023-11-03 17:58:14 24 4
gpt4 key购买 nike

以下 python 脚本通常可以自动填写登录 Web 表单:

import requests

payload = {
user : myusrname
password : mypass
...etc...
}

s = requests.Session()
s.post(formurl, data = payload)
r = s.get(protectedurl)

但是在某些网站上,上述似乎无法启动 session 。我正在寻找是什么阻止我进入 protected 页面。

在网站 ( https://www.avanza.se ) 上,表单看起来像

<form autocomplete="off" class="loginForm clearFix"  method="POST"action="/ab/noop">
<input placeholder="Användarnamn" type="text" name="j_username" autocapitalize="none">
<input placeholder="Lösenord" type="password" name="j_password">
<div class="errorToolTipPlacement">
<button class="focusBtn loginButton" type="submit" disabled="disabled">Logga in</button>
<a class="fRight marginTop4px defaultSize plcLink" href="/glomt-uppgift.html">Problem att logga in?</a>
</div>
</form>

我为发布请求提供所有 name:value 字段(在本例中为 j_usernamej_password)

请求成功,给我一个状态代码 200,然后重定向回原始网页 - 未登录。起始页面和 protected 页面的 url 和 cookie 是相同的。

我注意到即使我填写了错误的用户名和密码,结果也是一样的。

我是否缺少一些要发送的信息?

它是否使用了我看不到的更复杂的身份验证?

它只是阻止自动登录机器人吗?

最佳答案

乍看之下,该请求似乎有第三个参数(url)

下面是我要设置的所有请求 header 参数(至少)Referer、Content-Type 和“Accept”参数。

Host: www.avanza.se
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:35.0) Gecko/20100101 Firefox/35.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Cache-Control: no-cache
X-Requested-With: XMLHttpRequest
Referer: https://www.avanza.se/start
Content-Length: 70
Cookie: _ga=GA1.2.714386931.1422441452; _gat_rollup=1; _gat=1; optimizelySegments=%7B%22696152504%22%3A%22ff%22%2C%22696851909%22%3A%22direct%22%2C%22702410951%22%3A%22false%22%7D; optimizelyEndUserId=oeu1422441452807r0.117113927933018; optimizelyBuckets=%7B%7D; optimizelyPendingLogEvents=%5B%5D
Connection: keep-alive
Pragma: no-cache

您可以将它们设置在命名数组中,并使用 post 方法的“headers”参数将它们传递。

一旦 post 方法“返回”,您实际上应该读取响应(以 json 格式),它应该为您提供要重定向到的 url。

关于python - 我如何知道登录网络 session 的要求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28190001/

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