这篇文章主要讲解了“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='http://XXX.xxx.xxx.xx:9900/api-marketing-center/poster/save' data={'activityName':'我是个海报2', 'backgroundPicUrl':'https://xxxxx/default/f865a1aa66adfe50d005bd840e2c3356.jpg', 'copywriting':'我是个海报 看看我2', 'endTime':'2021-08-14 16:00:00', 'startTime':'2021-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形式上传文件请求”的内容了,经过本文的学习后,相信大家对python怎么使用form-data形式上传文件请求这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。