请求()有一个意外的关键字参数“json”[重复]
Posted
技术标签:
【中文标题】请求()有一个意外的关键字参数“json”[重复]【英文标题】:request() got an unexpected keyword argument 'json' [duplicate] 【发布时间】:2018-04-10 01:08:21 【问题描述】:我需要在 Python 中使用 requests 模块以 json 的形式发送数据。
例如:
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)
但是运行这段代码后,它显示了这个错误:
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'
我在 Ubuntu 16.04
上,我的 Python 版本是 2.7.6
如何发出这个问题?
【问题讨论】:
升级requests
,你的版本太旧了。
@GhostlyMartijn 你好,如何升级requests
?
你是怎么安装的?作为系统包?什么版本的 Ubuntu?您可以将新版本安装到 virtualenv 中。
【参考方案1】:
您的数据是一个字典,您应该将其转换为 json 格式,如下所示:
json.dumps(数据)
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)
【讨论】:
嗨,不要工作 json.dumps(my_data)。获取数据后显示response [415]
.
@mySun : 415 表示媒体类型不受支持。最可能的情况是您的请求中缺少 Content-Type 标头,或者它不正确。(不适用于我的代码!!或任何错误!!!该网站或 url 没有获得您的 json 格式)我的代码是正确的!我回答了你关于意外关键字参数“json”的问题,请勾选我:)
我在我的笔记本电脑上运行我的代码并且很容易工作,但是上传到服务器后显示这个错误! :-(
@mySun:再试一次!我添加了标题...标签
非常感谢您对我的帮助 :-)【参考方案2】:
看here
我怀疑你的json
关键字实际上应该是data
,即,
get_data = f.post(URL, data=data, timeout=30, verify=False)
【讨论】:
嗨,不要工作 json.dumps(my_data)。获取数据后显示响应 [415] 不,json
适用于过去 3 年(截至 2.4.2)发布的任何版本的请求。
见docs.python-requests.org/en/master/user/quickstart/…以上是关于请求()有一个意外的关键字参数“json”[重复]的主要内容,如果未能解决你的问题,请参考以下文章
XGBoost 继承:__init__() 有一个意外的关键字参数“标签”
Graphql 试图创建 get_user_model 的对象:__init__() 得到了一个意外的关键字参数“请求”