2016-01-22 99 views
0

我试图使用请求登录到使用职位的网站。我有这种形式...Python 3.4 - 请求 - 登录问题

<form action="/" method="post" id="login_form" class="formposition" style="display: block;"> 
<input type="text" name="btc_address" id="login_form_btc_address"> 
<input type="password" name="password" id="login_form_password"> 
<input type="submit" value="LOGIN!" id="login_button" class="button expand" style="margin:0;"> 

我写了这个代码:

import requests 
url = "https://freebitco.in/?op=home" 
values = { "btc_address": "username", "password": "password"} 
r = requests.post(url, data=values) 

然而,当我运行它不工作的代码...有人可以给我一个建议吗?

+1

会发生什么事,有错误? – k4ppa

+0

没有错误,只是它没有登录 – TestaDiRapa

回答

1

使用在Firefox萤火虫,你可以看到,当你登录到网站,发布的密码和地址是不够的,你需要:

'btc_address': 'your_btc_address', 
'csrf_token': 'the_csrf_token', 
'op': 'login', 
'password': 'your_password' 
+0

好吧,我已经做了一些研究,现在我的代码是 url =“https://freebitco.in/?op=home” session = requests.Session () session.get(URL) 标记= session.cookies [ 'csrf_token'] 值= { 'btc_address': '添加my_id', 'csrf_token':令牌, '运算': '登录', '密码':'my_password', } r = session.post(url,data = values) 当我运行它并尝试打印r时,它会显示“响应:200”,因此登录应该成功完成,但如果我试图寻找页面中存在的文本,我找不到它...我正在制作其他文件r错误? – TestaDiRapa

+0

对不起,如果我编辑了很多次:D @ lord63。 j – TestaDiRapa

+0

@TestaDiRapa对不起,我没有freebitco帐户,所以我不能重现这个问题,并给你更多的建议。祝你好运。 –