在POST没有有效负载时面临问题(python代码)
我的脚本调用的代码是(这是api.py中的代码) 现在我需要发布一个没有有效负载的请求,因为我需要发布的信息在url本身中。我尝试了以下组合,但失败了: 1)在POST没有有效负载时面临问题(python代码),python,api,post,Python,Api,Post,我的脚本调用的代码是(这是api.py中的代码) 现在我需要发布一个没有有效负载的请求,因为我需要发布的信息在url本身中。我尝试了以下组合,但失败了: 1) requests.post(url,auth,data=None) 他没有说: result = requests.post(api, auth, data=None) TypeError: post() got multiple values for keyword argument 'data' 2) requests.pos
requests.post(url,auth,data=None)
他没有说:
result = requests.post(api, auth, data=None)
TypeError: post() got multiple values for keyword argument 'data'
2) requests.post(api,auth,data=payload)
其中payload是空的
请建议..问题在于方法签名和您如何调用它之间不兼容
def post(url, data=None, **kwargs):
result = requests.post(api, auth, data=None)
首先,根据错误,它的保存假定请求
是您编写的库(而不是Python请求模块),而不是类,否则您将得到完全不同的错误
您的post
方法有两个参数,url
和data
您的调用有三个参数,python必须解压它们:变量api
和auth
,以及一个命名参数data=None
Python将api
分配给方法范围中的url
变量,并将auth
分配给data
变量。这会在methods作用域中留下一个额外的名为data
的变量,该变量现在正试图再次赋值
因此出现了错误:
post() got multiple values for keyword argument 'data'
传递的auth param被函数作为数据接受。然后再次传递数据,作为关键字参数
result = requests.post(api, auth, data=None)
TypeError: post() got multiple values for keyword argument 'data'
试试这个:
result = requests.post(api, auth=auth)
result = requests.post(api, auth=auth)