2022年 11月 13日

python发送put请求

Python请求api有四种形式:get、post、put、delete,依赖request模块,每种请求的请求格式大致相同,这里以put为例作说明

	url = 'http://feedback.nie.netease.com/api/feedback/968684?token=' + token
    headers = {'content-type': 'application/json'}
    data = {'status': 3}
    get_feedback_isue = requests.put(url, json=data, headers=headers)
  • 1
  • 2
  • 3
  • 4

参数介绍
url:请求的api地址
headers:入参数据类型格式,例中使用的data格式为json,所以headers需要设置为application/json
data:请求接口时传入的参数,如果没有参数可以直接删除data
数据请求格式
在传入json数据时,如果使用data参数,需要提交json.dumps之后的字符串,否则会报错,错误示例如下

	url = 'http://feedback.nie.netease.com/api/feedback/968684?token=' + token
	headers = {'content-type': 'application/json'}
	data = {'status': 3}
	get_feedback_isue = requests.put(url, data=data, headers=headers)
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
可以看到请求会成功,code=200,但是入参格式不对,无法实现想要需求,所以需要对data数据作json.dumps处理

	url = 'http://feedback.nie.netease.com/api/feedback/968685?token=' + token
    headers = {'content-type': 'application/json'}
    data = json.dumps({'status': 3})
    get_feedback_isue = requests.put(url, data=data, headers=headers)
  • 1
  • 2
  • 3
  • 4

当然,如果所使用的requests库版本支持的话,也可以直接使用json参数提交

    url = 'http://feedback.nie.netease.com/api/feedback/968685?token=' + token
    headers = {'content-type': 'application/json'}
    data = {'status': 3}
    get_feedback_isue = requests.put(url, json=data, headers=headers)
  • 1
  • 2
  • 3
  • 4