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
0
投稿
猜你喜欢
- 使用字符串建立查询能加快服务器的解析速度吗?我记的在那儿看过,好像是说使用字符串建立SQL查询是有它的道理的,像这样:<%mySQL=
- 在对数值进行格式化的时候,一个常见的问题是按照千分位格式化,网上对这个问题已经有很多种解决方法了,还可以利用Array.prototype.
- 不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久,你一定遇到过UnicodeEncodeError、Unicode
- 前言在写波段配准相关代码时经常需要用到tif影像的波段合成和分解,虽然可以用ENVI才处理,但是每次都要打开再设置一些参数有些麻烦,所以本着
- 本文实例讲述了python实现数独算法的方法。分享给大家供大家参考。具体如下:# -*- coding: utf-8 -*-'
- function commafy() { var num = document.getElementById("NumA"
- 这篇文章主要介绍了python调用接口的4种方式代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 这个跟ping那个差不多,ping的那个脚本就是通过这个改了下,大体一致,不过telnet的不需要判断返回的字符串。快一些这里具体需要tel
- 今天请各位读者朋友欣赏用 Python 实现的鲜花盛宴,你准备好了吗?90 行代码即可实现一棵美丽的鲜花盛开树。小编也是鲜花爱护协会者之一,
- 本文要点:爬虫的基本流程requests模块的使用保存csv可视化分析展示环境介绍python 3.8pycharm 2021专业版 激活码
- 本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL
- pytorch transform数据处理转c++python推理代码转c++ sdk过程遇到pytorch数据处理的转换1.python代
- 本文实例为大家分享了python编写实现抽奖器的具体代码,供大家参考,具体内容如下# coding=utf-8import sysimpor
- python是很容易上手的编程语言,但是有些时候使用python编写的程序并不能保证其运行速度(例如:while 和 for),这个时候我们
- 一:自动化了解知识工具安装什么样的项目适合做自动化?自动化测试一般在什么阶段开始实施?你们公司自动化的脚本谁来维护?如何维护?自动化用例覆盖
- 技术背景在上一篇博客中,我们介绍了使用量子计算模拟器ProjectQ去生成一个随机数,也介绍了随机数的应用场景等。但是有些时候我们希望可以打
- 方法一通过斜率关系计算,公式如下图:需注意在求斜率时不要出现竖直情况,python计算会报错,但按理说应该可以计算出无穷的,此处先放这吧,等
- 从PHP的5.4.0版本开始,PHP提供了一种全新的代码复用的概念,那就是Trait。Trait其字面意思是”特性”、”特点”,我们可以理解
- 表中主键必须为标识列,[ID] int IDENTITY (1,1)1.分页方案一:(利用Not In和SELECT TOP分页)语句形式:
- 译者按:我们时常能看到不同JavaScript库/框架之间的各种比较,但这次 YUI3 架构师和 jQuery 之父的直接对话却非常难得,也