2015-12-21 116 views
0

我想使用Python腳本登錄到我的銀行帳戶,以進一步廢除我做的交易。我讀了很多,似乎它並不複雜,但我沒有成功登錄。我認爲這個問題是,當我發佈我的表單時,我錯過了一個由?我不知道如何檢索它。使用Python登錄,以安全的網站與令牌

這裏是我的示例代碼:

import requests 

s = requests.Session() 
s.headers.update({ 
    'User-agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36", 
}) 

url_identification = 'https://accweb.mouv.desjardins.com/identifiantunique/identification' 
url_identification_process = 'https://accweb.mouv.desjardins.com/identifiantunique/identification/identificationProcess' 

login_data = { 
    'fnMemoriserUtilisateurActive': '0', 
    'InfoPosteRaa': {}, 
    'OtherIdRaa': {}, 
    'nbrCartesMemorisees':1, 
    'codeUtilisateur':xxxxxxxxxx, 
    'description':{}, 
    '_tk':{}, 
    'infoPosteClient':{} 
}  

r = s.get(url_identification) 
r = s.post(url_identification_process, data=login_data) 
print r.text 

我的崗位我重定向到url_identification網頁,因爲我不能夠有正確的令牌。任何想法如何我可以檢索它?我不知道它是如何產生的,並且因爲它是一個銀行網站,恐怕是sadely不可能:(

回答

0

要回答你的問題非常第一:

  1. 的價值_tk可以得到url_identification的響應中找到,例如

    <input type="hidden" name="_tk" value="86167503-a1e1-4fdf-a661-47348671df9d" /> 
    
  2. infoPosteClientJavaScript功能add_deviceprint計算,你可能需要嘗試模擬具體是haviour,或只是給它一個恆定的價值。

  3. POST請求的其它參數,以url_identification_process包括InfoPosteRaaOtherIdRaadescription,可以是空的(至少在我的試運行)。

我沒有該銀行的賬戶來測試,因此恐怕我無法檢查更多的請求。
一條建議:我認爲Python能夠完成這項任務,事實上我親自做了許多類似的事情(使用Python來模擬XHR或其他複雜的事情)。但我想使用基於JavaScript的解決方案(例如PhantomJS)可能更適合您的特定情況。

+0

非常感謝!我會盡快嘗試。事實上,我正在使用Python來快速構建原型。我想爲最終項目使用.NET解決方案。 – GuillaumeA