2017-01-14 349 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