3 votes

Python request.post donne une réponse 500

Pour l'une de mes requêtes post, je reçois une réponse 500 à chaque fois que j'essaie de l'exécuter. Quand je copie-colle les détails dans Postman, cela fonctionne très bien à chaque fois. Le post Python fonctionne bien pour d'autres requêtes que j'exécute, mais celui-ci échoue à chaque fois et je ne parviens pas à comprendre pourquoi.

Est-ce que quelqu'un a déjà rencontré ce problème auparavant, ou est-ce que quelqu'un voit quelque chose que j'ai mal fait ?

json_body = '{"overrides": [], "id": 0, "name": "Fiche de tarifs 12", "resellerId": 2000001, "currency": "ZAR", "markup": {"id": 0, "method": "Pourcentage", "operand": 3}, "totalLinkedBands": 0, "totalLinkedAccounts": 0}'
token = 'JWT eyJ0eXA...s'
url = 'http://app01:8084//PriceScheme/CreatePriceScheme'
r = requests.post(url, json.loads(json_body), headers={'Authorization': token})

Dans Postman, cela ressemble à ceci :

(POST) http://app01:8084//PriceScheme/CreatePriceScheme
Content-Type - application/json
Authorization - JWT eyJ...

{"overrides": [], "name": "Fiche de tarifs 1", "currency": "ZAR", "totalLinkedAccounts": 0, "totalLinkedBands": 1, "id": 1, "markup": {"method": "Pourcentage", "operand": 3.0, "id": 0}, "resellerId": "2009340"}

0voto

yixing yan Points 51

Essayez comme ci-dessous

requests.post(url, json = json_body, headers={'Authorization': token})

Dans Postman, auto utiliser Content-Type - application/json

Si vous utilisez la méthode post pour envoyer des données JSON, vous devriez utiliser json=data

0voto

json_body='{"parametername":Value}' resp = requests.post(URL, json_body, auth=('username', 'Pass'))

Résolu le problème dans mon cas

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X