Je souhaite obtenir des données de service Web POST en python. A cet effet, j'ai essayé ci-dessous:Comment envoyer une requête POST en python et obtenir la bonne réponse json?
import requests
import json
headers = {'content-type': 'application/json','charset': 'utf-8'}
url = 'https://a.b.c.com/count/WebService.asmx/ReadJSON'
data = {'tick': '123456A123456B'}
response = requests.post(url, data=json.dumps(data), headers=headers)
print response.status_code
print response.text
Au-dessus de la sortie de code:
200
{"a":""}
Mais en fait, touche "a" a une valeur que je ne reçois pas. Je ne comprends pas que cela me donne un code d'état de 200, c'est-à-dire OK, alors pourquoi je ne suis pas capable d'obtenir la bonne réponse JSON. Est-ce que j'ai manqué quelque chose dans le code?
utilisation 'response.json()' au lieu de 'response.text' et vous n'avez pas besoin de vider votre dictionnaire à la chaîne, vous pouvez passer comme est –
Si je suis passé, la réponse = requests.post (url, data = data, headers = headers) J'obtiens {u'StackTrace ': u' ', u'Message': 'Une erreur est survenue lors du traitement de la requête', 'u'ExceptionType': u '' } Erreur. – kit