我正在尝试创建一个用于登录bet365的脚本。我在登录时暂停了。 POST请求的参数是:
LOGIN_URL = "https://mobile.bet365.it/"
{
DeviceId : "..."
Platform : "..."
txtPassword: "..."
tktTKN: "..."
txtType: "..."
txtUsername: "..."
}
所以我编写了这个payload
来尝试访问登录页面:
payload = {
"txtUsername": UTENTE,
"txtPassword": PASSWORD,
"txtTKN": authenticity_token,
"platform": platform,
"txtType": txtType
}
LOGIN_URL = "https://mobile.bet365.it/"
result = session_requests.post(LOGIN_URL, data = payload, headers = dict(referer = LOGIN_URL))
我完全确定这些值是正确的(除了platform和txtType,因为我不明白它们是什么,所以我复制了我登录时总是设置的值)。 但是,如果我试着检查一下我是否已登录,我意识到我不是。
答案 0 :(得分:0)
答案 1 :(得分:0)
(我认为没有明显的"登录失败"登录页面中存在的消息) 通常您登录的事实是"已保存"在一个或多个cookie(* sessionID)中,我要做的是在"登录请求"的响应中寻找它们。并将它们添加到以下请求中。
我的一些代码中有一个片段给你一般的想法
import httplib2
headers = {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'accept-encoding': "identity", ...
}
payload = { ... }
http_client = httplib2.Http()
response, content = http_client.request(
login_url,
"POST",
urllib.urlencode(payload),
headers)
# ...
cookie = response.get("set-cookie")
if cookie:
headers['Cookie'] = cookie
# ...
response, content = http_client.request(
other_url,
"POST",
urllib.urlencode(payload),
headers)