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

作者:yaominghui 时间:2021-10-10 15:31:07 

在接口测试学习过程中,遇到了利用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)

来源:https://www.cnblogs.com/Zhang-engineer/p/11392714.html

标签:python,3,requests,库,文件,上传,下载
0
投稿

猜你喜欢

  • Python使用Asyncio实现检查网站状态

    2023-01-23 18:56:39
  • asp如何直接调用Excel数据?

    2010-06-28 18:26:00
  • Python OpenCV实现视频追踪

    2021-09-29 23:04:27
  • 再谈javascript图片预加载技术

    2011-03-11 19:57:00
  • ASP+AJAX做类似google的搜索提示

    2008-10-24 13:49:00
  • 几个SQL SERVER应用问题解答

    2008-01-01 19:12:00
  • Javascript语法检查插件 jsLint for Vim

    2009-03-11 16:37:00
  • python中pyplot直方图的绘制方式

    2023-11-20 07:58:17
  • WEB2.0网页制作标准教程(7)CSS学习入门

    2007-12-13 13:12:00
  • Python文件操作和数据格式详解(简单简洁)

    2022-12-18 21:28:01
  • Python编写Windows Service服务程序

    2022-03-08 03:04:08
  • 将SQL Server中所有表的列信息显示出来

    2009-01-08 16:27:00
  • python利用Appium实现自动控制移动设备并提取数据功能

    2021-07-05 23:15:21
  • 关于Pytorch中模型的保存与迁移问题

    2023-08-11 04:05:25
  • js自动闭合html标签(自动补全html标记)

    2023-08-25 07:06:35
  • 使用IDLE的Python shell窗口实例详解

    2021-04-15 16:49:09
  • 使用CSS选择器创建个性化链接样式

    2009-06-02 13:07:00
  • 使用Math.max,Math.min获取数组中的最值实例

    2023-09-03 23:23:59
  • python中正则表达式与模式匹配

    2023-08-25 22:54:59
  • selenium+python自动化测试环境搭建步骤

    2021-03-16 02:34:34
  • asp之家 网络编程 m.aspxhome.com