2016-01-22 50 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帳戶,所以我不能重現這個問題,並給你更多的建議。祝你好運。 –