python3--post请求时Content-Type类型的注意事项

在Python3中进行POST请求时,对于Content-Type的设置需要注意。通常,应用JSON格式时,Content-Type设置为'application/json'。但在上传二进制文件时,应将文件作为files参数,并移除或注释掉'Content-Type': 'multipart/form-data',因为requests库会自动添加合适的Content-Type,包括boundary信息。否则,请求可能会失败。
摘要由CSDN通过智能技术生成

python3–post请求时Content-Type类型的注意事项

当我们在日常自动化测试中遇到接口测试–post请求且带有参数时(参数不带文件的情况),我们会在header上附带定义好的content-type,一般情况下都是:application/json,如下所示:
header = {
‘Connection’: ‘keep-alive’,
‘Accept-Language’: ‘zh-CN,zh;q=0.9’,
’Content-Type’: 'application/json’
}
此时,使用requests库做请求时:res = requests.post(url=url, headers=header, data=data)
系统会正常返回post请求的结果,我们用result = res.json()可以得到对应返回内容。

但当我们做post请求且附带文件(也就是做上传文件操作),且是二进制文件时,需要特别注意两点

1.将我们要上传的文件写为:files = {“file”: open(‘E:\test.xls’, “rb”)}
这一步是为了把我们要上传的文件作为files参数传给request请求。

2.将我们在header里写的’Content-Type’: 'multipart/form-data’去掉或者注释掉
这一步,我们通常习惯性地认为,此时需要在header里把content-type设置为:multi

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值