multipart/form-data 和download接口说明(Jmeter/Postman/Python)

一、multipart/form-data 接口
1、上传图片
路径:/admin/image/upload(cjd党群后台上传评价)
Content-Type:multipart/form-data
body:参数名称file.参数类型:文件
A、postman
post 和 url
Headers  [Authorization:XXXX]  (key、value)
Body [file  选个文件](key、value)

B、jmeter
HTTP信息头管理器 添加Authorization
HTTP请求:协议、ip、端口、post、路径
勾选:Use multipart/form-data for POST
File Upload上传文件 、填写参数名称、MIME类型(比如:image/png)

C、python
headers['Content-Type']='multipart/form-data;boundary=----WebKitFormBoundarykhgDKtdBx1Ci8WBi'

url=url+'/admin/image/upload'
m=MultipartEncoder(
            fields={
                    'file': ('10.jpg',open(r'C:\Users\Dell\Desktop\2.png','rb'), 'image/png/jpeg/jpg')
                    },
            boundary='----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
        )
r = requests.post(url=url,data=m,headers=headers)

2、上传excel
A、postman
类似上面上传图片

B、jmeter
类似上面上传图片,只是File Upload MIME类型:application/vnd.ms-excel
如果有其他非文件参数,写在Parameters中

C、python
headers['Content-Type']='multipart/form-data;boundary=----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
url=url+'/identity/add'
m=MultipartEncoder(
            fields={'file':('data.xlsx',open(r'D:\auto_test\testcase\data_verify\data.xlsx','rb'), 'application/vnd.ms-excel'),#https://www.w3school.com.cn/media/media_mimeref.asp
                    'identityType':identityType
                    },
            boundary='----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
        )
        r = requests.post(url=url,data=m,headers=headers)

3、上传多个字段+图片:
见截图

二、下载excel 接口说明
1、python
        headers={XXX}
        url=url+'/admin/activity/%s/apply/download?status=%s'%(id,status)
        r = requests.get(url=url,headers=headers,stream=True)
        print(r.content)#获取返回结果二进制格式的
        fw = open(r'C:\Users\Dell\Desktop\1.xlsx','wb')#指定绝对路径
        fw.write(r.content)#将二进制格式内容写入文件
        fw.close()

2、postman
请求方式+请求路径+请求头+请求参数
send 请求
Download按钮下载excel到本地

3、jmeter
HTTP信息头管理器 添加Authorization
HTTP请求:协议、ip、端口、get、路径
添加个BeanShell Sampler:下载到本地并且重命名
import java.io.*;
byte[] result = prev.getResponseData(); //这个是获取到请求返回的数据,prev是获取上个请求的返回
String file_name = "C:\\Users\\Dell\\Desktop\\123.xlsx"; //代表存放文件的位置和文件名, 相对路径的话会保存到bin 目录下,且保存的文件名的后缀与原图一致
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();

一、

3、上传多个字段+图片:

A、postman实现:

B、jmeter实现:

3、python:

    def web_individual_kyc(self,auditType='INDIVIDUAL',auditName='zs',
        identityId=sfz_random()):
        '''3、个人认证'''
        url=self.url+datainfo.get_url_data('认证提交-个人',r'D:\auto_test\testcase\czt')
        headers={}
        headers['Authorization']=read(self)
        headers['Content-Type']='multipart/form-data;boundary=----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
        m=MultipartEncoder(
            fields={'posFile':('1.jpg',open(r'C:\Users\Dell\Desktop\0.jpg','rb'), 'image/png/jpeg/jpg'),
                    'negFile':('2.jpg',open(r'C:\Users\Dell\Desktop\0.jpg','rb'), 'image/png/jpeg/jpg'),
                    'auditType':auditType,
                    'auditName':auditName,
                    'identityId':identityId
                    },
            boundary='----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
        )
        r = requests.post(url=url,data=m,headers=headers)
        print(r.text)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值