irpas技术客

使用requests.request()时遇到报错:TypeError: request() takes 2 positional arguments but

大大的周 3053

原来的代码: method = "post" headers = {"Content-Type": "application/json","Origin":"http:XXXXX:8090","Authorization":token} body = {""} url1 = "http:XXXXX" data={""} s = requests.request(url1,method,headers,data) print('响应结果:', s.json())

运行发现报错了:TypeError: request() takes 2 positional arguments but 4 were given

这个提示的意思是只用给两个参数,但是我传了四个,

因为这个错误误导了我,让我以为是因为request方法哪里有问题,在这里想了好久,

后面发现,是因为data格式错了,我没有按照“KEY:VALUE”的格式写

解决方法:

修改最后的两行代码(倒二跟倒三行):

body不传参数可以写成:

data={} 或者 data={"":""}

?最后一行修改成(严格按照规范写,报错信息才会更准确):

s = requests.request(url = url1,method=method,headers=headers,json = data)

(自我反省)比如当最后两行为:

data={""} s = requests.request(url = url1,method=method,headers=headers,json = data)

此时的报错信息是:

TypeError: Object of type set is not JSON serializable

就不会对我产生误导


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #request #takes #2 #positional #Arguments #but #原来的代码method