2017-05-06 2 views
0

私は、次のWebサイトのメンバーエリアにログインしてみてくださいを使用してプライベートエリアを接続します。それは私がJSONを送った理由だJSONの代わりに、ポストデータはどのようにPythonとrequets

import requests 
session = requests.Session() 
data = {"username":"test", "password":"test", "isRedirectToMobile": "false", "loginButtonUniversal": ""} 
url = "https://trader.degiro.nl/login/#/login" 
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.62 Safari/537.36'} 
r = session.post(url, headers=headers, json={'json_payload': data}) 

ことにするので、 投稿フォームは、いずれかは、それが動作しない理由のアイデアを持っていますか?私のブラウザが送信するリクエストを見てみると

+1

*「機能しない」*に展開できますか?あなたはどんな反応を得ますか?ポスト本体のユーザー名とパスワードは実際には予期していますか? 'Authorization'ヘッダー? – jonrsharpe

+1

私はそのログインページを使ってリクエストを行うと、 '#/ login'ではなく' https:// trader.degiro.nl/login/secure/login'に行きます。また、私は 'json_payload'パラメータを要求本体には見当たりません。単に' data'だけです。 – jonrsharpe

+0

私はサーバーから200の応答を持っていますが、プライベートページにアクセスしようとするとエラーが発生します。 URLを変更する@jonrsharpeはおそらく解決策です! 少なくとも、私は自分のクッキーにPHPSESSIDを持っています(以前はありませんでした) – f42

答えて

2

、コードは次のようになります。

ある
url = "https://trader.degiro.nl/login/secure/login" 
... 
r = session.post(url, headers=headers, json=data) 

、そこjson_payloadにデータをラップする必要がありますないとurlは、ログインページを表示するためのものと若干異なっています。

+0

OK、私はPHPSESSIDを取得しているので、このURLで動作すると思います。 しかし、私はFirefoxでログインしたときに私のクッキーにあるJSESSIONIDを取得できません – f42