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 IDE PyCharm的基本快捷键和配置简介
Nov 04 Python
Java Web开发过程中登陆模块的验证码的实现方式总结
May 25 Python
Python正则表达式完全指南
May 25 Python
基于python3 类的属性、方法、封装、继承实例讲解
Sep 19 Python
致Python初学者 Anaconda入门使用指南完整版
Apr 05 Python
CentOS下Python3的安装及创建虚拟环境的方法
Nov 28 Python
Python实现简单查找最长子串功能示例
Feb 26 Python
Python实现的对一个数进行因式分解操作示例
Jun 27 Python
浅谈django 模型类使用save()方法的好处与注意事项
Mar 28 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
May 26 Python
PyQT5 实现快捷键复制表格数据的方法示例
Jun 19 Python
python 字典和列表嵌套用法详解
Jun 29 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无限遍历文件夹示例分享
2014/03/04 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
2019/09/10 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
轻轻松松学JS调试(不下载任何工具)
2010/04/14 Javascript
js中巧用cssText属性批量操作样式
2011/03/13 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
JavaScript将base64图片转换成formData并通过AJAX提交的实现方法
2016/10/24 Javascript
JS中定位 position 的使用实例代码
2017/08/06 Javascript
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
Python之py2exe打包工具详解
2017/06/14 Python
python3实现随机数
2018/06/25 Python
Django框架的中的setting.py文件说明详解
2018/10/15 Python
Python并行分布式框架Celery详解
2018/10/15 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
django 单表操作实例详解
2019/07/30 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
小学家长会邀请函
2014/01/23 职场文书
进步之星获奖感言
2014/02/22 职场文书
知识改变命运演讲稿
2014/05/21 职场文书
销售活动策划方案
2014/08/26 职场文书
交通工程专业推荐信
2014/09/06 职场文书
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
2014红色之旅心得体会
2014/10/07 职场文书
2014年村党支部工作总结
2014/12/04 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
学习保证书怎么写
2015/02/26 职场文书
golang 生成对应的数据表struct定义操作
2021/04/28 Golang