requests 请求上传文件的接口,就是这么简单

931 篇文章 26 订阅
646 篇文章 0 订阅

近期也有不少的小伙伴在工作中遇到了文件上传的接口,表示不知道应该如何去传递文件上传的参数。

为了帮大家解决这个疑惑,我这边特地写了一个文件上传的接口,那么接下来我们结合这个接口给大家来讲讲解决方案

【接口说明】:

  • 接口地址:http://127.0.0.1:5000/upload(注:我自己写的一个接口,运行在本地)

  • 请求方法:POST

  • 请求类型:Content-Type: multipart/form-data;

  • 响应类型:Content-Type:application/json

  • 接口入参

  • 出参(返回值)

返回参考示例:

针对上面的接口文档简要的说明一下:

该接口需要四个参数,其中一个是用来接收上传的文件的,看上去和其他的接口并没有什么不一样的,返回的数据是json类型的;

关于文件上传接口,需要我们引起注意的一个地方就是:请求参数类型都是Content-Type: multipart/form-data;

那么这种类型的参数,我们在发送请求的时候要特别注意!他传参的方式和其他参数类型是不一样的。

接下来我们分别使用postman和python来请求这个接口。

使用postman上传文件

使用postman来上传文件,操作起来比较简单。

关于接口参数直接选择form-data这一栏进行填写就好了,要注意的点就是上传文件的参数,要选择文件类型,然后再对应参数值那一栏选择对应的文件即可。

点击请求,服务器返回了上传成功的相关信息,详细操作如下图:

使用requests模块来上传

前面我们已经成功的使用了postman来上传文件,那么我们在使用python去做接口自动化的时候,如何来解决这个文件上传的问题呢?

在python中关于发送http请求,我们通常都会使用requets模块,那么接下来我们就使用requests模块来上传文件。

requests模块发送post请求直接调用post方法就可以了,那么关于文件上传这里传参的时候要特别注意,

requests传参类型】:

requests模块传参有四种方式:params、data,、json和files。

接下来给大家详细讲解一下requests模块中这几种传参方式的区别。

  • parmas: 传递查询字符串参数(常用于get请求)

  • data: 传递表单类型的参数(参数类型为:Content-Type:application/x-www-form-urlencoded)

  • json: 传递json类型的参数(参数类型为:Content-Type:application/json)

  • files: 用于上传文件(参数类型:content-type:multipart/form-data;)

上传文件的的接口参数的类型为content-type:multipart/form-data,那么我们使用requests来发送请求的时候,接口中文件上传的参数需要使用files来传递。

files参数格式如下:

文件上传的参数准备好了,那么接口中其他的参数怎么处理呢?其他的参数使用data传递即可。

参数组织如下:

参数都准备好了,那么接下来就可以发送请求了,完整的请求代码如下:

运行以上代码,结果如下:

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

面试文档获取方式:

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值