2017-08-23 15 views
0

コンテキスト「ハンドラがログインしたことになっている間は、コンテキスト」:要求 -

を市場で入手可能なツールのほとんどは、まだすべての金融ウェブサイトをカバーしていないので、私は自分のお金アグリゲータをコーディングしようとしています。私はraspberrypiでPython 2.7.9を使用しています。

リクエストやドライスクラップライブラリのおかげで、私は今までのいくつかのアカウントに接続することができました。私が今集計しようとしているウェブサイトは私に苦労しています(もっと1つは投稿しました3 month ago)、その名前はhttps://www.linxo.comです(これは実際にはアグリゲータです)。

私は要求を使用することにしました。この時間(悪い選択であるかもしれない、私はわからない)

問題

ブラウザ

からカールの要求をmimingことにより、このコードを実行します
import requests 

with requests.Session() as s: 
    headers = { 
     'Accept-Encoding': 'gzip, deflate, br', 
     'Accept-Language': 'en-US,en;q=0.8,fr;q=0.6', 
     'Upgrade-Insecure-Requests': '1', 
     'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/59.0.3071.109 Chrome/59.0.3071.109 Safari/537.36', 
     'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 
     'Referer': 'https://wwws.linxo.com/auth.page', 
     'Connection': 'keep-alive', 
    } 

    r_init = s.get('https://wwws.linxo.com/auth.page#Login', headers=headers) 

    linxoSession = r_init.cookies.items()[1][1] 

    r_connect = s.get('https://wwws.linxo.com/secured/overview.page', headers=headers) 

    headers = { 
     'Origin': 'https://wwws.linxo.com', 
     'Accept-Encoding': 'gzip, deflate, br', 
     'Accept-Language': 'en-US,en;q=0.8,fr;q=0.6', 
     'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/59.0.3071.109 Chrome/59.0.3071.109 Safari/537.36', 
     'Content-Type': 'text/x-gwt-rpc; charset=UTF-8', 
     'Accept': '*/*', 
     'X-GWT-Module-Base': 'https://wwws.linxo.com/secured/js/', 
     'X-GWT-Permutation': 'DB8126A36E6BF1903AACA5D5D293D391', 
     'Referer': 'https://wwws.linxo.com/secured/overview.page', 
     'Connection': 'keep-alive', 
    } 

    data = '7|0|7|https://wwws.linxo.com/secured/js/|XXXXXXXX|net.customware.gwt.dispatch.client.standard.StandardDispatchService|execute|net.customware.gwt.dispatch.shared.Action|com.linxo.gwt.rpc.client.auth.CheckSessionAction/4080764126|' + linxoSession + '|1|2|3|4|1|5|6|7|' 
    r_connect = s.post('https://wwws.linxo.com/secured/js/dispatch', headers=headers, cookies=r_connect.cookies, data=data) 

最後の要求に対する結果は

//EX[2,0,0,1,["com.linxo.gwt.rpc.client.exception.InvalidSessionException/3836580376","No context while handler is supposed to be logged-in"],0,7] 
です

質問:

  • 私は、このようなエラーメッセージを持っていないとどのように私は私が探していますデータを取得するために、適切
    ウェブサイトにログインできるのはなぜ?
  • ドライスクラップなどの別のライブラリを使用する必要がありますか?

答えて

0

Firefoxでラズベリーパイのセレニウムを使ってデバッグし、PhantomJSでヘッドレスプログラムを実行しました。 それは私のコーディング時間を大幅に加速しますが、パフォーマンスは低下する可能性があります。私は気にしません。