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

 更新时间:2019年08月22日 14:47:16   投稿:yaominghui  
这篇文章主要介绍了python3 requests库文件上传与下载实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在接口测试学习过程中,遇到了利用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中requests模拟登录的三种方式(携带cookie/session进行请求网站)

    python中requests模拟登录的三种方式(携带cookie/session进行请求网站)

    这篇文章主要介绍了python中requests模拟登录的三种方式(携带cookie/session进行请求网站),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • python中列表的常见操作梳理总结(一)

    python中列表的常见操作梳理总结(一)

    这篇文章主要介绍了python中列表的常见操作梳理总结,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • Python 中将秒转换为小时、分钟和秒的示例代码

    Python 中将秒转换为小时、分钟和秒的示例代码

    这篇文章主要介绍了在 Python 中将秒转换为小时、分钟和秒,本篇文章将讨论使用 Python 中的四种不同方法来使用、管理秒并将其转换为天、小时、分钟和秒,需要的朋友可以参考下
    2023-05-05
  • 详解Python正则表达式re模块

    详解Python正则表达式re模块

    这篇文章主要介绍了Python正则表达式re模块,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • python开发之thread线程基础实例入门

    python开发之thread线程基础实例入门

    这篇文章主要介绍了python开发之thread线程基础,以三个实例形式分析了Python中thread线程的基本使用方法,涉及串行与并行程序的执行原理及线程的操作技巧,需要的朋友可以参考下
    2015-11-11
  • Django 1.10以上版本 url 配置注意事项详解

    Django 1.10以上版本 url 配置注意事项详解

    这篇文章主要介绍了Django 1.10以上版本 url 配置注意事项详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 深入探究Python中的迭代器和生成器

    深入探究Python中的迭代器和生成器

    迭代器(Iterators)和生成器(Generators)是 Python 中最强大的功能之一,但也是新手最容易混淆的部分,本文将深入探讨这两种概念,以及它们在 Python 编程中的实际应用,需要的朋友可以参考下
    2023-06-06
  • Python利用sqlacodegen自动生成ORM实体类示例

    Python利用sqlacodegen自动生成ORM实体类示例

    这篇文章主要介绍了Python利用sqlacodegen自动生成ORM实体类,结合实例形式分析了Python sqlacodegen安装技巧ORM实体类相关实现技巧,需要的朋友可以参考下
    2019-06-06
  • selenium python 实现基本自动化测试的示例代码

    selenium python 实现基本自动化测试的示例代码

    这篇文章主要介绍了selenium python 实现基本自动化测试的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • 如何利用Python给自己的头像加一个小国旗(小月饼)

    如何利用Python给自己的头像加一个小国旗(小月饼)

    这篇文章主要给大家介绍了关于如何利用Python给自己的头像加一个小国旗(小月饼)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10

最新评论