我知道有关此主题的几篇文章,我相信我已经阅读了很多文章,但是我仍然无法登录该网站。
以下是我对登录页面的检查:
<form id="login" name="login" method="POST" action="/signin">
<div id="login_username">
<label>Email</label>
<input class="textfield" id="email" name="email" type="text" autocomplete="off" value="">
</div>
<div id="login_password">
<label>Password</label>
<input class="textfield" id="password" name="password"
type="password" autocomplete="off" value="">
</div>
<input type="hidden" id="hash" name="hash" value="">
<div id="login_submit">
<a id="forgot_password_link">Forgot Password?</a>
<input class="submitbutton" type="submit" value="Sign In">
</div>
</form>
下面是我的代码:
username = 'XXXXX@gmail.com'
password = 'XXXX'
hash = ''
data = {'password':password, 'email':username,'hash':hash}
login_url = "https://carmel.orangetheoryfitness.com/login"
s = requests.session()
result = s.post(login_url, data=data, headers = dict(referer=login_url))
scrape_url = 'https://carmel.orangetheoryfitness.com/apps/otf/classes/view?id=16297&loc=0'
result = s.get(url=scrape_url)
从这里我继续搜索html文档,但是在获取scrape_url时,由于返回到登录页面,所以找不到所需的内容。我已经通过检查生成的html文档来验证了这一点。
我考虑过的事情:
-几乎所有博客帖子或SO响应均表明通常需要CSRF令牌。我已经搜索了登录页面,但是找不到CSRF令牌。
答案 0 :(得分:0)
该表单具有action="/signin"
属性,因此您需要改为发布到https://carmel.orangetheoryfitness.com/signin
。
result = s.post('https://carmel.orangetheoryfitness.com/signin', data=data, headers = dict(referer=login_url))