python3 requests库文件上传与下载实现详解
作者:yaominghui 发布时间:2021-10-10 15:31:07
标签:python,3,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)
来源:https://www.cnblogs.com/Zhang-engineer/p/11392714.html


猜你喜欢
- 本次做一个最简单的贪食蛇雏形游戏,就是一个小蛇在画面上移动,我们可以控制蛇的移动方向,但是不能吃东西,蛇不会长大。但是基础的有了,完整版的贪
- 字典的本质就是 hash 表,hash 表就是通过 key 找到其 value ,平均情况下你只需要花费 O(1) 的时间复杂度即可以完成对
- 与其他技术相比,Git应该拯救了更多开发人员的饭碗。只要你经常使用Git保存自己的工作,你就一直有机会可以将代码退回到之前的状态,因此就可以
- 本文实例讲述了python中split方法用法。分享给大家供大家参考。具体分析如下:split 是非常重要的字符串方法,它是join的逆方法
- 本实例的实现逻辑是,应用selenium UI自动化登录百度盘,读取存储百度分享地址和提取码的txt文档,打开百度盘分享地址,填入提取码,然
- 一、函数解释1.Softmax函数常用的用法是指定参数dim就可以:(1)dim=0:对每一列的所有元素进行softmax运算,并使得每一列
- Css3引入了新的盒模型——弹性盒模型,该模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间。这与XUL(火狐使用的用户交互语言)
- 目录1,刚开始(可能会很low)2.单行消失3.优化后的单行消失总结1,刚开始(可能会很low)import timescale=10pri
- 划动门菜单技术:运行代码框<style>body {font-size:12px;font-family:宋体}ul.TabBa
- 世上无难事,只要找到 Homebrew 的正确安装方式。Homebrew 是什么Homebrew是 mac的包管理器,仅需执行相应的命令,就
- 1,reload 方法该方法强迫浏览器刷新当前页面。语法:location.reload([bForceGet])参数: bForceGet
- 自动追踪算法,在我们设计2D射击类游戏时经常会用到,这个听起来很高大上的东西,其实也并不是军事学的专利,在数学上解决的话需要去解微分方程,这
- 我想把存在数据库里的每天24小时来访者数另放到一个Excel文件中去,可以吗?可以,其实就是将数据库里面的内容生成一个Excel文件:toe
- 一、算法 1、算法的主要思想就是将一个中缀表达式(Infix expression)转换成便
- PDOStatement::closeCursorPDOStatement::closeCursor — 关闭游标,使语句能再次被执行。(P
- 过滤器是一个通过输入数据,能够及时对数据进行处理并返回一个数据结果的简单函数。Vue有很多很便利的过滤器,过滤器通常会使用管道标志 “ |
- 首先说明一下,在python中是没有&&及||这两个运算符的,取而代之的是英文and和or。其他运算符没有变动。接着重点要说
- 近日,某个QQ 群里的一个朋友提出一个问题,如何将一个DB 的表结构同步给另一个DB。针对这个问题,我进行了思考与实践,具体的实现代码如下所
- 这里介绍使用python-Django框架来实现web端分页呈现数据,主要说明对应的views,urls,templates三个文件的编程逻
- //********************** index.asp ************************//<