文件上传:上传图片的类型是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实现接口上传文件的两种方法相关推荐

  1. 用JSP实现上传文件的两种方法

    在用Java开发企业器系统的使用,特别是涉及到与办公相关的软件开发的时候,文件的上传是客户经常要提到的要求.因此有 一套很好文件上传的解决办法也能方便大家在这一块的开发. 首先申明,该文章是为了自己记 ...

  2. django + python上传文件的两种方式

    突然心血来潮,研究了下django+python上传文件的两种方式. 第一:直接采用文件读写的方式上传 1. settings.py文件中设置文件的存放路径和文件读取路径 MEDIA_ROOT = o ...

  3. LayUI upload上传组件上传文件的两种方式(手动上传、自动上传)

    1 手动上传 上传文件分为两步,第一步选择文件,第二步上传文件. HTML代码: <input type='button' id='selectFile' value='选择文件'> &l ...

  4. WebUploader 上传文件的两种方式(手动上传,自动上传)

    1 手动上传 上传文件分为两步,第一步选择文件,第二步上传文件. HTML代码: <input type='button' id='selectFile' value='选择文件'> &l ...

  5. python调用接口上传文件_python接口自动化7-post文件上传

    前言 文件上传在我们软件是不可少的,最多的使用是体现在我们后台,当然我们前台也会有.但是了解过怎样上传文件吗?这篇我们以禅道文档-创建文档,上传文件为例. post请求中的:Content-Type: ...

  6. python 中文姓名库,Python Requests库上传文件中文文件名处理方法是什么

    使用Python Requests库,提交POST请求上传文件,不支持中文文件名? 使用Python Requests库,向微信服务器上传媒体问题. 当使用英文文件名称,上传时,一切OK. 当下面代码 ...

  7. flask中使用FileField上传文件的两种方式+前端页面上传文件(flask三种上传文件方式)

    文章目录 上传文件方式一: 1.index.html文件: 2.主文件main.py: 上传文件方式二: 1.index2.html文件: 2.main.py文件: 上传文件方式三: 1.index3 ...

  8. vue前端实现上传文件的两种方式

    1.使用form表单的形式 第一种方式就是使用FormData的方式进行上传 html代码: <el-form :model="upform" :rules="up ...

  9. cmd echo写入shell_渗透技巧——通过cmd上传文件的N种方法

    0x00 前言 在渗透测试的过程中,常常需要向目标主机上传文件,我在最近的学习测试过程中就碰到了这个问题,要求只能通过cmd shell向目标主机(Windows系统)上传文件,所以本文就对该技巧做一 ...

  10. python调用接口上传文件_python上传文件接口

    文件的参数组装: ('文件名',"open打开的文件(rb模式打开)",'文件的类型说明') 关于不同的请求参数类型,使用requests的处理: 1.文件上传(Content-T ...

最新文章

  1. linux7 kernel.sem,centos7.4内核调优,tcp单服务器万级并发
  2. 如何编辑PDF文件,PDF编辑器如何使用
  3. 10 个最值得 Python 新人练手的有趣项目 | 赠书
  4. day01-计算机操作系统java编程入门
  5. Android QEMU 高速管道
  6. Angular里interpolation text节点的创建逻辑,单步调试
  7. 前端学习(2475):表单数据绑定处理
  8. 哈尔滨工程大学微型计算机原理与接口技术,2017年哈尔滨工程大学 哈工大 微型计算机原理与接口技术 复试硕士招生考试大纲...
  9. lxc设置网络为公网IP
  10. eclipse springmvc+Thymeleaf
  11. Matlab2016a如何关联M文件
  12. html5块注释,HTML 块引用标签
  13. eclipse启动tomcat无法访问的解决方法(转)
  14. centos www服务器文件unable create,Centos Vsftpd 无上传权限 (553 Could not create file)
  15. 如何解决样本不均衡问题
  16. 游戏鼠标的dpi测试软件,怎样测试鼠标DPI印象中有这样的软件,但可以用游戏测试...
  17. Visual Leak Detector(vld)无法显示内存泄露行号
  18. vue路由守卫,路由拦截,导航守卫
  19. 一文读懂DeFi衍生品市场六大方向及底层发展逻辑 |链捕手
  20. 中国普通魔方行业市场供需与战略研究报告

热门文章

  1. 收藏!环境领域一区期刊最新汇总
  2. EXT 类型文件恢复
  3. JPMorgan最近在区块链做的事—揭秘JPM Coin 1
  4. DIV CSS布局:CSS浮动float属性详解
  5. PLC远程控制在智能停车场中的应用
  6. steam 相同元素相加_LeetCode 2. 两数相加
  7. 手势密码VS指纹密码,哪个更安全?
  8. 国家人工智能战略的路线图
  9. Linux系统shell命令stty、echo、cat操作串口
  10. OpenJudge 2.5-8783 单词接龙