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装饰器与递归算法详解
Feb 18 Python
python里使用正则的findall函数的实例详解
Oct 19 Python
python操作xlsx文件的包openpyxl实例
May 03 Python
python编程使用协程并发的优缺点
Sep 20 Python
对python捕获ctrl+c手工中断程序的两种方法详解
Dec 26 Python
Django组件cookie与session的具体使用
Jun 05 Python
Python split() 函数拆分字符串将字符串转化为列的方法
Jul 16 Python
Django 项目通过加载不同env文件来区分不同环境
Feb 17 Python
Python读取表格类型文件代码实例
Feb 17 Python
keras实现基于孪生网络的图片相似度计算方式
Jun 11 Python
Python 里最强的地图绘制神器
Mar 01 Python
python ansible自动化运维工具执行流程
Jun 24 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学习之数据类型之间的转换代码
2011/05/29 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
ThinkPHP框架下微信支付功能总结踩坑笔记
2019/04/10 PHP
Prototype源码浅析 String部分(四)之补充
2012/01/16 Javascript
jquery win 7透明弹出层效果的简单代码
2013/08/06 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
jquery Validation表单验证使用详解
2020/09/12 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
Node.js事件的正确使用方法
2019/04/05 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
js实现炫酷光感效果
2020/09/05 Javascript
[03:30]完美盛典趣味短片 CSGO2019年度名场面
2019/12/07 DOTA
python使用百度翻译进行中翻英示例
2014/04/14 Python
python服务器端收发请求的实现代码
2014/09/29 Python
Python简单遍历字典及删除元素的方法
2016/09/18 Python
python 将列表中的字符串连接成一个长路径的方法
2018/10/23 Python
详解vscode实现远程linux服务器上Python开发
2020/11/10 Python
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
巴西宠物店在线:Geração Pet
2017/05/31 全球购物
捷克购买家具网站:JENA nábytek
2020/03/19 全球购物
韩语专业本科生求职信
2013/10/01 职场文书
大专应届生个人的自我评价
2013/11/21 职场文书
幼儿园三八妇女节活动方案
2014/03/11 职场文书
幼儿教师师德师风自我剖析材料
2014/09/29 职场文书
社区四风存在问题及整改措施
2014/10/26 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js
Innodb存储引擎中的后台线程详解
2022/04/03 MySQL
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server