request() got an unexpected keyword argument 'json'
本问题已经有最佳答案,请猛点这里访问。
我需要在python中使用请求发送带有json的数据。
Python版本:
操作系统:
例如:
1 2 3 4 5 6 7 8 9 10 | 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) |
但是运行此代码后,显示此错误:
1 2 3 4 | 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' |
如何发出这个问题?
您的数据是字典,您应该将其转换为json格式,如下所示:
json.dumps(数据)
1 2 3 4 5 6 7 8 9 10 11 12 | 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) |
看这里
http://docs.python-requests.org/en/master/user/advanced/
我怀疑您的" json"关键字实际上应该是"数据"
即
get_data = f.post(URL,data = data,timeout = 30,verify = False)