python实现文件+参数发送request的实例代码
作者:槐夏 发布时间:2022-03-04 18:49:43
标签:python,发送,request
需求:
该接口,含两个参数,一个是file,一个是paperName。其中file为上传的文件。content-type为form-data。
根据python中的request源代码,可知,发送一个request,可以传递的参数有很多。而我们这次主要用到的就是files,当然method、url、headers、及data/json也是每次发送request必备的。
主要的实现方式:
# 用二进制的方式打开需上传的文件。
f = open(filename, "rb")
file = [
("file", (filename, f, "file/xlsx")) # 此处"file"为上传的参数名;filename可以为当前目录下的文件(仅文件名即可),也可以是其他目录下的文件(用相对路径)
]
实现代码:
f = open(filename, "rb")
file = [
("file", (filename, f, "file/xlsx"))
]
filename = '../data/required_upload.xlsx' # 此处写的是放在data目录下的文件。如果是当前目录下的,直接'required_upload.xlsx'即可
response = request(method=method, url=url, headers=headers, files=file, data=data)
f.close()
总结tips:
1. 以二进制的方式打开文件,文件可以是file / img
2. 文件名如果非当前目录,则应使用相对路径
3. 发送请求结束后,应立刻关闭文件
6. content-type为form-data,request语句中应注意是data=data,若content-type为application/json等,则是json=data
4. 试着去读一读看看源码
5. 如果多次需要上传文件,不妨把#主要实现方式#里的代码封装起来,方便以后调用
来源:https://www.cnblogs.com/rita-liu/archive/2021/01/04/14231249.html


猜你喜欢
- 本文详细罗列并说明了Python的标准库与第三方库如下,供对此有需要的朋友进行参考:Tkinter———— Python默认的图形界面接口。
- 今天是我们来玩一个钉子。通过一个钉子来学习一个opencv中的一个函数,这个函数我网上也有搜过,不过遗憾的是,各路好手都是写的是有点不堪入目
- 实例化对象名._类名__私有属性名 class Flylove:price = 123 def __init__(self):s
- 后台数据库用是Access,客户用了一年后说打开界面非常慢,查看了数据库后发现数据表中的记录已有五万多条,自己试过将记录复制到10 万条,打
- 直接赋值:其实就是对象的引用(别名)。浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。深拷贝(deepcopy): copy 模
- 引言在刚入门python时,模块化编程、模块、类库等术语常常并不容易理清。尤其是Modules(模块)和Packages(包),在impor
- GitPython 是一个用于操作 Git 版本库的 python 包,它提供了一系列的对象模型(库 - Repo、树 - Tree、提交
- netcdf是气候数据中的主流格式,当涉及到大范围的全球数万个格网点数据时,使用python脚本可以较快地读取与处理。import netC
- 使用Tkinter模块来创建简单的GUI程序。Tkinter的Widgets有:Button、Canvas、Checkbutton、Entr
- 本文实例讲述了Python实现向服务器请求压缩数据及解压缩数据的方法。分享给大家供大家参考,具体如下:向服务器请求压缩数据格式,并解压缩数据
- WordPress默认登录页面:http://192.168.0.120/wordpress/wp-login.php 1、Chrome浏览
- 网络爬虫网络爬虫是指在互联网上自动爬取网站内容信息的程序,也被称作网络蜘蛛或网络机器人。大型的爬虫程序被广泛应用于搜索引擎、数据挖掘等领域,
- MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型。其区别在于,float,double等非标准类
- Flask-Login 为 Flask 提供用户会话管理。它处理登录、注销和长时间记住用户会话等常见任务。Flask-Login 不绑定到任
- 假设页面源代码如下:<input type="text"name="wd" id="
- 一、SQLAlchemy 介绍1.1 ORM 的概念ORM全称Object Relational Mapping(对象关系映射),通过 OR
- 目录一. 加载数据1. 继承Dataset类并重写关键方法2. 使用Dataloader加载数据二. 模型设计三. 训练四. 测试结语pyt
- Oracle过程和函数相信大家都比较了解,下面就为您详细介绍Oracle过程和函数二者之间的区别,希望可以让您对Oracle过程和函数有更深
- 1.解读tensorflow权重文件,透过 tf.train.NewCheckpointReader函数。2.reader.get_vari
- 准备软件版本Django2.1.3Python3.7.1默认使用的是sqlite3DATABASES = { 'def