原来的代码: 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
就不会对我产生误导