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 相关文章推荐
用PyQt进行Python图形界面的程序的开发的入门指引
Apr 14 Python
python中字符串前面加r的作用
Jun 04 Python
Python中规范定义命名空间的一些建议
Jun 04 Python
AI人工智能 Python实现人机对话
Nov 13 Python
查看Django和flask版本的方法
May 14 Python
JavaScript中的模拟事件和自定义事件实例分析
Jul 27 Python
用Python读取几十万行文本数据
Dec 24 Python
python实现五子棋游戏
Jun 18 Python
python 杀死自身进程的实现方法
Jul 01 Python
django框架F&Q 聚合与分组操作示例
Dec 12 Python
Python编译为二进制so可执行文件实例
Dec 23 Python
Python warning警告出现的原因及忽略方法
Jan 31 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
mysql 的 like 问题,超强毕杀记!!!
2007/01/18 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
在elementui中Notification组件添加点击事件实例
2020/11/11 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
Python 调用VC++的动态链接库(DLL)
2008/09/06 Python
python使用arp欺骗伪造网关的方法
2015/04/24 Python
Python模拟用户登录验证
2017/09/11 Python
PyQt5每天必学之布局管理
2018/04/19 Python
python爬取网页转换为PDF文件
2018/06/07 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
Python3 max()函数基础用法
2019/02/19 Python
pymongo中group by的操作方法教程
2019/03/22 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
python怎么判断素数
2020/07/01 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
Python字典dict常用方法函数实例
2020/11/09 Python
英国家具、照明、家居用品网上商店:Wayfair.co.uk
2020/02/13 全球购物
中层干部岗位职责
2013/12/18 职场文书
临床医师专业个人自我评价
2014/01/08 职场文书
安全事故检讨书
2014/01/18 职场文书
先进教育工作者事迹材料
2014/12/23 职场文书
新手开公司创业注意事项有哪些?
2019/07/29 职场文书
导游词之大雁塔景区
2019/09/17 职场文书
pytorch 如何使用batch训练lstm网络
2021/05/28 Python
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技
人物搭配车车超萌联名预备中 【咒术迴战】 ⨯ 【天竺鼠车车】 展开合作
2022/04/11 日漫