python实现接口上传文件的两种方法
文件上传:上传图片的类型是file,这里没有用到头部信息
import requestsdef sendImg(img_path, img_name, img_type='image/jpeg'):""":param img_path:图片的路径:param img_name:图片的名称:param img_type:图片的类型,这里写的是image/jpeg,也可以是png/jpg"""url = 'https://www.xxxxxxxxxx.com' # 自己想要请求的接口地址with open(img_path + img_name, "rb")as f_abs:# 以2进制方式打开图片body = {# 有些上传图片时可能会有其他字段,比如图片的时间什么的,这个根据自己的需要'camera_code': (None, "摄像头1"), 'image_face': (img_name, f_abs, img_type)# 图片的名称、图片的绝对路径、图片的类型(就是后缀)"time":(None, "2019-01-01 10:00:00")}# 上传图片的时候,不使用data和json,用filesresponse = requests.post(url=url, files=body).jsonreturn responseif __name__=='__main__':# 上传图片res = sendImg(img_path, img_name) # 调用sendImg方法print(res)**如果上传图片是数组时,value直接写图片路径就可以**
文件上传:上传的类型是file,用到头部信息
# "Content-Type": "multipart/form-data; boundary=76a22e30da2bb7790828887966871012"
from urllib3 import encode_multipart_formdata
import requestsdef sendFile(filename, file_path):""":param filename:文件的名称:param file_path:文件的绝对路径"""url = "https://www.xxxxxxx.com" # 请求的接口地址with open(file_path, mode="r", encoding="utf8")as f: # 打开文件file = {"file": (filename, f.read()),# 引号的file是接口的字段,后面的是文件的名称、文件的内容"key": "value", # 如果接口中有其他字段也可以加上} encode_data = encode_multipart_formdata(file)file_data = encode_data[0] # b'--c0c46a5929c2ce4c935c9cff85bf11d4\r\nContent-Disposition: form-data; name="file"; filename="1.txt"\r\nContent-Type: text/plain\r\n\r\n...........--c0c46a5929c2ce4c935c9cff85bf11d4--\r\nheaders_from_data = {"Content-Type": encode_data[1], "Authorization": token} # token是登陆后给的值,如果你的接口中头部不需要上传字段,就不用写,只要前面的就可以# 'Content-Type': 'multipart/form-data; boundary=c0c46a5929c2ce4c935c9cff85bf11d4',这里上传文件用的是form-data,不能用jsonresponse = requests.post(url=url, headers=headers_from_data, data=file_data).json()return responseif __name__=='__main__':# 上传文件res = sendFile(filename, file_path) # 调用sendFile方法print(res)
python实现接口上传文件的两种方法相关推荐
- 用JSP实现上传文件的两种方法
在用Java开发企业器系统的使用,特别是涉及到与办公相关的软件开发的时候,文件的上传是客户经常要提到的要求.因此有 一套很好文件上传的解决办法也能方便大家在这一块的开发. 首先申明,该文章是为了自己记 ...
- django + python上传文件的两种方式
突然心血来潮,研究了下django+python上传文件的两种方式. 第一:直接采用文件读写的方式上传 1. settings.py文件中设置文件的存放路径和文件读取路径 MEDIA_ROOT = o ...
- LayUI upload上传组件上传文件的两种方式(手动上传、自动上传)
1 手动上传 上传文件分为两步,第一步选择文件,第二步上传文件. HTML代码: <input type='button' id='selectFile' value='选择文件'> &l ...
- WebUploader 上传文件的两种方式(手动上传,自动上传)
1 手动上传 上传文件分为两步,第一步选择文件,第二步上传文件. HTML代码: <input type='button' id='selectFile' value='选择文件'> &l ...
- python调用接口上传文件_python接口自动化7-post文件上传
前言 文件上传在我们软件是不可少的,最多的使用是体现在我们后台,当然我们前台也会有.但是了解过怎样上传文件吗?这篇我们以禅道文档-创建文档,上传文件为例. post请求中的:Content-Type: ...
- python 中文姓名库,Python Requests库上传文件中文文件名处理方法是什么
使用Python Requests库,提交POST请求上传文件,不支持中文文件名? 使用Python Requests库,向微信服务器上传媒体问题. 当使用英文文件名称,上传时,一切OK. 当下面代码 ...
- flask中使用FileField上传文件的两种方式+前端页面上传文件(flask三种上传文件方式)
文章目录 上传文件方式一: 1.index.html文件: 2.主文件main.py: 上传文件方式二: 1.index2.html文件: 2.main.py文件: 上传文件方式三: 1.index3 ...
- vue前端实现上传文件的两种方式
1.使用form表单的形式 第一种方式就是使用FormData的方式进行上传 html代码: <el-form :model="upform" :rules="up ...
- cmd echo写入shell_渗透技巧——通过cmd上传文件的N种方法
0x00 前言 在渗透测试的过程中,常常需要向目标主机上传文件,我在最近的学习测试过程中就碰到了这个问题,要求只能通过cmd shell向目标主机(Windows系统)上传文件,所以本文就对该技巧做一 ...
- python调用接口上传文件_python上传文件接口
文件的参数组装: ('文件名',"open打开的文件(rb模式打开)",'文件的类型说明') 关于不同的请求参数类型,使用requests的处理: 1.文件上传(Content-T ...
最新文章
- linux7 kernel.sem,centos7.4内核调优,tcp单服务器万级并发
- 如何编辑PDF文件,PDF编辑器如何使用
- 10 个最值得 Python 新人练手的有趣项目 | 赠书
- day01-计算机操作系统java编程入门
- Android QEMU 高速管道
- Angular里interpolation text节点的创建逻辑,单步调试
- 前端学习(2475):表单数据绑定处理
- 哈尔滨工程大学微型计算机原理与接口技术,2017年哈尔滨工程大学 哈工大 微型计算机原理与接口技术 复试硕士招生考试大纲...
- lxc设置网络为公网IP
- eclipse springmvc+Thymeleaf
- Matlab2016a如何关联M文件
- html5块注释,HTML 块引用标签
- eclipse启动tomcat无法访问的解决方法(转)
- centos www服务器文件unable create,Centos Vsftpd 无上传权限 (553 Could not create file)
- 如何解决样本不均衡问题
- 游戏鼠标的dpi测试软件,怎样测试鼠标DPI印象中有这样的软件,但可以用游戏测试...
- Visual Leak Detector(vld)无法显示内存泄露行号
- vue路由守卫,路由拦截,导航守卫
- 一文读懂DeFi衍生品市场六大方向及底层发展逻辑 |链捕手
- 中国普通魔方行业市场供需与战略研究报告