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自动化测试之setUp与tearDown实例
Sep 28 Python
Python对象转JSON字符串的方法
Apr 27 Python
听歌识曲--用python实现一个音乐检索器的功能
Nov 15 Python
Python numpy 常用函数总结
Dec 07 Python
python中用logging实现日志滚动和过期日志删除功能
Aug 20 Python
使用PyTorch实现MNIST手写体识别代码
Jan 18 Python
tensorflow 保存模型和取出中间权重例子
Jan 24 Python
Python unittest生成测试报告过程解析
Sep 08 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 Python
python 爬虫请求模块requests详解
Dec 04 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 Python
手把手教你使用TensorFlow2实现RNN
Jul 15 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中mysql_field_type()函数用法
2014/11/24 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
php 使用curl模拟登录人人(校内)网的简单实例
2016/06/06 PHP
PHP多种序列化/反序列化的方法详解
2017/06/23 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
JS隐藏参数post传值实例
2013/04/18 Javascript
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
2013/11/06 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
javascript HTML5 canvas实现打砖块游戏
2020/06/18 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
JS去掉字符串中所有的逗号
2017/10/18 Javascript
[13:39]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第一场
2014/05/26 DOTA
Python爬虫模拟登录带验证码网站
2016/01/22 Python
基于python的字节编译详解
2017/09/20 Python
Python Unittest自动化单元测试框架详解
2018/04/04 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
基于python实现模拟数据结构模型
2020/06/12 Python
Python 数据分析之逐块读取文本的实现
2020/12/14 Python
HTML5实现音频和视频嵌入的方法
2018/08/22 HTML / CSS
英国名牌服装购物网站:OD’s Designer
2019/09/02 全球购物
总经理办公室主任岗位职责
2013/11/12 职场文书
电子专业推荐信范文
2013/11/18 职场文书
代理商会议邀请函
2014/01/27 职场文书
如何撰写岗位职责
2014/02/01 职场文书
小学生期末评语
2014/04/21 职场文书
党员违纪检讨书怎么写
2014/11/01 职场文书
公司致全体员工的感谢信
2019/06/24 职场文书
python使用BeautifulSoup 解析HTML
2022/04/24 Python
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android