2017-01-14 136 views
0

我正在嘗試(合法地並且從站點繼續)通過它們的api登錄到博彩交易所matchbook.com。使用Python請求登錄到MATCHBOOK API

的文檔狀態:

要登錄:https://www.matchbook.com/bpapi/rest/security/session

示例請求 POST /安全/會話 { 「用戶名」: 「j_henry」, 「密碼」:「 ******「 }

示例響應 { 「session-token」:「1418_1234567890」, 「user-id」:1418, 「account」:{//與GET/account API response相同。 ... }}

我使用的要求,並具有以下代碼:

payload = {"username": "********", "password": "************"} 
r = requests.post('https://www.matchbook.com/edge/rest/security/session', data=payload) 
print (r.status_code) 

我得到錯誤代碼415?我必須得到錯誤的迴應類型?

我在這裏看過很多非常類似的帖子,我即將問火柴人的團隊,但在我做任何人之前有任何想法?

回答

1

您可能必須指定Content-Type,嘗試添加標題,告訴它的JSON格式的服務器:

payload = {"username": "********", "password": "************"} 
headers = {"Content-Type": "application/json;"} 
r = requests.post('https://www.matchbook.com/edge/rest/security/session', data=payload, headers=headers) 
print (r.status_code) 
+0

它實際上採取了你的兩個建議Shane和danyamachine使這項工作 - 但它現在唱歌甜蜜,並返回200:D – Davtho1983

1

它不會從您的代碼中顯示您是JSON編碼您的有效載荷。端點可能期待JSON。 試試這個:
payload = '{"username": "********", "password": "************"}'

+0

感謝您的幫助 - 張貼三江源怎麼把它居然拿了兩個你和Shane的解決方案,使這項工作 – Davtho1983