2017-01-14 2 views
0

J'essaie (légitimement et avec le feu vert du site) de me connecter à l'échange de paris matchbook.com via leur API.se connecter à l'API MATCHBOOK avec des requêtes Python

Les états de documentation:

Pour vous connecter: https://www.matchbook.com/bpapi/rest/security/session

et

Exemple Demande POST/sécurité/session de { "nom d'utilisateur": "j_henry", "mot de passe": " ****** " }

Exemple de réponse { "session-token": "1418_1234567890", "id_utilisateur": 1418, "compte": {// Identique à la réponse à l'API GET/compte. ... }}

J'utilise les demandes et ai le code suivant:

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

Je reçois le code d'erreur 415? Je dois obtenir le mauvais type de réponse ??

J'ai regardé beaucoup de posts très similaires ici, et je suis sur le point de demander à l'équipe du matchbook, mais avant que quelqu'un ne me donne des idées?

Répondre

1

Vous pourriez avoir à spécifier Content-Type, essayez d'ajouter un en-tête pour dire au serveur, il est JSON formaté:

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

il a effectivement pris vos deux suggestions Shane et danyamachine pour faire ce travail - mais il chante maintenant doucement et retourne 200: D – Davtho1983

1

Il n'apparaît pas de votre code que vous êtes codage JSON de votre charge utile. Le point de terminaison attend probablement JSON. Essayez ceci:
payload = '{"username": "********", "password": "************"}'

+0

Merci pour votre aide - affichant un coz thankyou il a effectivement eu deux le vôtre et la solution de Shane pour que cela fonctionne – Davtho1983