2017-08-25 9 views
0

私は、APIPythonのポスト要求エラー

import json 
    from urllib.request import Request, urlopen 
    from urllib.parse import urlencode 
    import requests 

    belfrics_url1 = "https://india-exchange.belfrics.com:443/gateway/public/authenticate" 
    belfrics_data1 = {'username': 'abc', 'password': 'xyz', 'stayLoggedIn': True} 
    belfrics_headers = {'Content-Type': 'application/json'} 
    belfrics_req1 = requests.post(belfrics_url1,params=belfrics_data1, headers=belfrics_headers) 
    print(belfrics_req1.text) 

「belfrics.in」私はこの応答

{"success":false,"missing_authenticators":[],"infos":[],"warnings":[],"errors":[{"JSON_DECODE_FAILED":["No error"]}],"results":{}} 

を取得毎回私は私がJSON_DECODE_FAILEDを取得する理由を理解することはできませんよから認証トークンを生成しようとしていますエラー。 私はurlencodeを使ってparamsをエンコードしようとしましたが、同じエラーがありました。私はそれが働いていた理由を誰かが説明でき

json=belfrics_data1 

params=belfrics_data1 

を変更することで解決 を見つけたので、私は

params=urlencode(belfrics_data1) 

OKで

params=belfrics_data1 

を置き換え?

APIドキュメントはこちらです:https://india-exchange.belfrics.com/api#!/common.json/authenticate

答えて

0

あなたのサイトはJSONを期待します。 paramsパラメータの代わりにjsonパラメータを使用すると、requestsbelfries_data1がJSONにエンコードされ、サイトが幸せになります。