python3 requests库文件上传与下载实现详解


Posted in Python onAugust 22, 2019

在接口测试学习过程中,遇到了利用requests库进行文件下载和上传的问题。同样,在真正的测试过程中,我们不可避免的会遇到上传和下载的测试。

文件上传:

url = ztx.host+'upload/uploadFile?CSRFToken='+self.getCSRFToken()#上传文件的接口地址
    header = {
        'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko',
        'Cookie':'JSESSIONID=535422F931158199018FE8D19620B9A1-n1.t2; SERVERID=cd7972e881cb9bd27adc12dbcf73adc1|'
          '1566374032|1566373045; loginWay_cookie=%7B%22index%22%3A%220%22%7D'
    }#上传文件请求的头信息
    data = {
        'md5_val':'ab91fd09413553e724311ec78217df55',
        'id':'WU_FILE_0',
        'name':'浙江省建设工程计价成果文件数据标准.doc',
        'type':'application/msword',
        # 'lastModifiedDate':'Mon Mar 11 16:21:05 UTC+0800 2019',
    }#上传文件的请求参数
    files = {
        'file':('浙江省建设工程计价成果文件数据标准.doc',#file是请求参数,要与接口文档中的参数名称一致
            open(r'C:\Users\Administrator\Desktop\浙江省建设工程计价成果文件数据标准.doc','rb'),#已二进制的形式打开文件
            'application/msword')#上传文件的MIME文件类型,这个必须要有
    }#上传的文件
    r = ztx.session.post(url=url,headers=header,data=data,files=files,verify=False)

注意:切记header头信息中不要添加Content-Type:xxxxxxx 这个字段,添加之后在发起请求的时候有可能找不到文件(希望大家避过这个坑)

下载文件:

下载文件相对稍微简单一点,请求类型为get请求

url = 'https://jypt.zhaotx.cn/upload/download/82F2413B8C13473AAECA512AA05124EA'
    r = ztx.session.get(url=url,stream=True,verify=False)#以流的形式进行下载文件
    if r.status_code ==200:#请求响应结果如果为200,将下载内容写入指定文件中
      with open(r'C:\Users\Administrator\Desktop\11.doc','wb') as f:
        for chunk in r.iter_content(chunk_size=1024):#循环写入,chunk_size是文件大小
          f.write(chunk)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现的二维码生成小软件
Jul 11 Python
Python遍历zip文件输出名称时出现乱码问题的解决方法
Apr 08 Python
python中list常用操作实例详解
Jun 03 Python
Python 关于反射和类的特殊成员方法
Sep 14 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
Nov 29 Python
Python通过Django实现用户注册和邮箱验证功能代码
Dec 11 Python
Python语言的变量认识及操作方法
Feb 11 Python
Python中list的交、并、差集获取方法示例
Aug 01 Python
Python爬取破解无线网络wifi密码过程解析
Sep 17 Python
Window10下python3.7 安装与卸载教程图解
Sep 30 Python
python中return的返回和执行实例
Dec 24 Python
python Zmail模块简介与使用示例
Dec 19 Python
python3使用print打印带颜色的字符串代码实例
Aug 22 #Python
Python检查 云备份进程是否正常运行代码实例
Aug 22 #Python
浅谈Python 递归算法指归
Aug 22 #Python
python求加权平均值的实例(附纯python写法)
Aug 22 #Python
python求平均数、方差、中位数的例子
Aug 22 #Python
python2和python3实现在图片上加汉字的方法
Aug 22 #Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
Aug 22 #Python
You might like
使用PHP强制下载PDF文件示例
2014/01/17 PHP
PHP排序二叉树基本功能实现方法示例
2018/05/26 PHP
纯JavaScript实现的完美渐变弹出层效果代码
2010/04/02 Javascript
基于JQuery制作的产品广告效果
2010/12/08 Javascript
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
解析javascript 实用函数的使用详解
2013/05/10 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
JavaScript基础重点(必看)
2016/07/09 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
React中使用UMEditor的方法示例
2019/12/27 Javascript
js实现树形数据转成扁平数据的方法示例
2020/02/27 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
python中关于时间和日期函数的常用计算总结(time和datatime)
2013/03/08 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
python实现飞机大战微信小游戏
2020/03/21 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
python实现图片中文字分割效果
2019/07/22 Python
使用python实现对元素的长截图功能
2019/11/14 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
英国女性化妆品收纳和家具网站:Beautify
2019/12/07 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
大学生党员自我批评
2014/02/14 职场文书
宣传普通话标语
2014/06/27 职场文书
出纳岗位职责
2015/01/31 职场文书
婚前保证书范文
2015/02/28 职场文书
常用的Python代码调试工具总结
2021/06/23 Python
为什么MySQL 删除表数据 磁盘空间还一直被占用
2021/10/16 MySQL
用Python可视化新冠疫情数据
2022/01/18 Python
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技