当前位置: 首页 > article >正文

requests文件上传和表单参数

requests文件上传和表单参数

一般情况下文件上传使用files参数,表单使用data参数,某些情况下类型是multipart/form-data,通过postman工具请求成功,使用requests请求失败
是因为requests使用data参数时默认用application/x-www-form-urlencoded。

解决办法
  1. 使用files参数传递formdata类型的数据,它默认会处理成multipart/form-data。

None作为文件名会被识别为表单项

# files为字典
resp = requests.post('http://127.0.0.1:5001/api/form',
                     files={
                         'file': ('1.mp4', open('data/1.mp4', 'rb'), 'file'),
                         'params': (None, '{"a":"1"}')
                     })
# files为列表,可上传文件列表
resp = requests.post('http://127.0.0.1:5001/api/form',
                     files=[
                         ('files[]', ('1.mp4', open('data/1.mp4', 'rb'), 'file')),
                         ('files[]', ('2.mp4', open('data/1.mp4', 'rb'), 'file')),
                         ('params', (None, '{"a":"1"}'))
                     ])
  1. 使用requests_toolbelt

安装

pip install requests_toolbelt

使用

from requests_toolbelt import MultipartEncoder

data = MultipartEncoder(fields={
    'file': ('1.mp4', open('data/1.mp4', 'rb'), 'file'),
    'params': '{"a":"1"}'})
# 注意指定data的content_type
resp = requests.post('http://127.0.0.1:5001/api/form', data=data, headers={'Content-Type': data.content_type})

http://www.kler.cn/a/416529.html

相关文章:

  • 计算机编码存储+char占用空间+final作用
  • C#里怎么样List类进行拷贝?
  • ipmitool使用详解(三)-解决各种dell、hp服务器无法ipmitool连接问题
  • cesium 3dtile ClippingPlanes 多边形挖洞ClippingPlaneCollection
  • 随机变量的线性最小均方估计(LMMSE)——多个观测变量
  • 单点登录原理
  • Golang 构建学习
  • Java爬虫:深入探索1688接口的奥秘
  • Elasticsearch实战:从搜索到数据分析的全面应用指南
  • Vue封装组件
  • 详解collections库常用的数据结构
  • hive和spark读写分区表NULL列
  • 哈希表算法题
  • Oracle系列---【关闭归档日志】
  • RL78/G15 Fast Prototyping Board Arduino IDE 平台开发过程
  • 【数据湖仓】-- 阿里云 EMR 和 AWS EMR 工具对比
  • 【Redis】Redis介绍
  • word2vec
  • 娱乐API:快速生成藏头诗、藏尾诗和藏中诗
  • 详解Ethereum交易当中的Input Data
  • 论文笔记:RAR: Retrieving And Ranking Augmented MLLMs for Visual Recognition
  • 算法思维初学者指南
  • XRD精修教程:CMPR软件介绍-测试狗
  • Spring Boot 开发环境搭建及示例应用
  • 数据分析-52-时间序列分解之变分模态分解VMD
  • 【论文笔记】Tool Learning with Foundation Models 论文笔记