python如何使用form-data形式上传文件请求


本篇内容介绍了“python如何使用form-data形式上传文件请求”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

虽然现在基本上都约定俗成的接口都用json形式请求

但是不可避免地 有些接口需要传文件流,此时就需要用form-data形式上传了

for.e:

存在以下接口,通过接口创建海报图 但需要上传缩略图,

此时接口的Content-Type就不能是application/json,而是multipart/form-data;

参数格式也是以表单形式传入

postman中设置文件流很简单 ,设置问file格式,然后就可以在本地选择文件上传,见下图

实际请求接口就可以成功

使用python完成上方请求 需要明确的请求方式及数据类型以及上传文件 读取文件

import requests
import json
from requests_toolbelt.multipart.encoder import MultipartEncoder
 
url='XXX.xxx.xxx.xx:9900/api-marketing-center/poster/save'
 
data={'activityName':'我是个海报2',
        'backgroundPicUrl':'https://xxxxx/default/f865a1aa66adfe50d005bd840e2c3356.jpg',
        'copywriting':'我是个海报  看看我2',
        'endTime':'2022-08-14 16:00:00',
        'startTime':'2022-08-11 16:00:00',
        'giftPicUrl':'https://xxxxx/file/c363c3173ac7c02393bf60018031073d.PNG',
        'qrCodeUrl':'https://xxxxxx/file/c363c3173ac7c02393bf60018031073d.PNG',
        'posterUrlThumbnail':'文件'
        }
files = {"posterUrlThumbnail": open('C:/Users/Lenovo/Desktop/格式测试/12.PNG', "rb")}
 
headers={'AUTH_MERCHANTS_ID': '76',
'Authorization': 'Bearer ad8cbdf3-c827-470a-aba5-076f0f3a9628'}  
 
r=requests.post(url=url,params=data, headers=headers,files=files)
 
print(r.json())
 
#{'code': 0, 'msg': '操作成功', 'data': None}

data:输入请求的参数,其中需要注意上传文件流的参数名称

files = {"posterUrlThumbnail": open('C:/Users/Lenovo/Desktop/格式测试/12.PNG', "rb")}

posterUrlThumbnail为参数名称用于赋值,打开文件,读取赋值

上方使用最简单的写死的headers,

调用requests库的方法去请求

即可得到结果

当然也可以复杂点封装个登录方法,去调用登录,获取token以及需要的头部参数

“python如何使用form-data形式上传文件请求”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注测速网www.inhv.cn网站,小编将为大家输出更多高质量的实用文章!


上一篇:Python如何使用Nocalhost并开启debug调试

下一篇:Python如何实现获取网页内容及自动填表单与登录功能


蚂蚁钢琴网 2008-2025 www.somall.com.cn 皖ICP备2023010105号
大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器
钢琴调律 钢琴调音 钢琴调律价格
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!
违法和不良信息24小时举报热线:18056540210