J'ai besoin d'envoyer des données avec JSON avec demande en Python.
Version Python: 2.7.6
Système d'exploitation: Ubuntu 16.04
Par exemple:
import json
import requests
f = requests.Session()
data = {
"from_date": "{}".format(from_date),
"to_date": "{}".format(to_date),
"Action": "Search"
}
get_data = f.post(URL, json=data, timeout=30, verify=False)
Mais après avoir exécuté ce code, affichez cette erreur:
get_data = f.post(URL, json=data, timeout=30, verify=False)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 497, in post
return self.request('POST', url, data=data, **kwargs)
TypeError: request() got an unexpected keyword argument 'json'
Comment poser ce problème?
vos données sont un dict, vous devriez le convertir au format json comme ceci:
json.dumps (données)
import json
import requests
f = requests.Session()
headers = {'content-type': 'application/json'}
my_data = {
"from_date": "{}".format(from_date),
"to_date": "{}".format(to_date),
"Action": "Search"
}
get_data = f.post(URL, data=json.dumps(my_data), timeout=30, headers=headers, verify=False)
En regardant ici http://docs.python-requests.org/en/master/user/advanced/ Je suppose que votre mot clé "json" devrait en réalité être "données".
c'est à dire.
get_data = f.post (URL, données = données, délai d'attente = 30, vérification = faux)