2017-08-25 130 views
0

我試圖生成認證令牌「belfrics.in」 API蟒蛇POST請求錯誤

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) 

每次我得到這個響應

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

我無法弄清楚,爲什麼我得到JSON_DECODE_FAILED錯誤。 我甚至嘗試通過使用urlencode編碼參數,但仍然有相同的錯誤。我換成

params=belfrics_data1 

params=urlencode(belfrics_data1) 

行,所以我找到了解決辦法 通過改變

params=belfrics_data1 

json=belfrics_data1 

有人可以解釋爲什麼工作?

API文檔是在這裏:https://india-exchange.belfrics.com/api#!/common.json/authenticate

回答

0

您的網站預計JSON;通過使用json參數代替params參數,requestsbelfries_data1編碼爲JSON,使網站開心。