+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-07(1)

2019-08(109)

2019-09(120)

2019-10(17)

2019-11(1)

multipart/form-data 和download接口说明

发布于2020-09-29 21:13     阅读(901)     评论(0)     点赞(24)     收藏(4)


0

1

2

3

4

5

6

  1. 一、multipart/form-data 接口
  2. 1、上传图片
  3. 路径:/admin/image/upload(cjd党群后台上传评价)
  4. Content-Type:multipart/form-data
  5. body:参数名称file.参数类型:文件
  6. A、postman
  7. post 和 url
  8. Headers [Authorization:XXXX] (key、value)
  9. Body [file 选个文件](key、value)
  10. B、jmeter
  11. HTTP信息头管理器 添加Authorization
  12. HTTP请求:协议、ip、端口、post、路径
  13. 勾选:Use multipart/form-data for POST
  14. File Upload上传文件 、填写参数名称、MIME类型(比如:image/png)
  15. C、python
  16. headers['Content-Type']='multipart/form-data;boundary=----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
  17. url=url+'/admin/image/upload'
  18. m=MultipartEncoder(
  19. fields={
  20. 'file': ('10.jpg',open(r'C:\Users\Dell\Desktop\2.png','rb'), 'image/png/jpeg/jpg')
  21. },
  22. boundary='----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
  23. )
  24. r = requests.post(url=url,data=m,headers=headers)
  25. 2、上传excel
  26. A、postman
  27. 类似上面上传图片
  28. B、jmeter
  29. 类似上面上传图片,只是File Upload MIME类型:application/vnd.ms-excel
  30. 如果有其他非文件参数,写在Parameters中
  31. C、python
  32. headers['Content-Type']='multipart/form-data;boundary=----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
  33. url=url+'/identity/add'
  34. m=MultipartEncoder(
  35. 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
  36. 'identityType':identityType
  37. },
  38. boundary='----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
  39. )
  40. r = requests.post(url=url,data=m,headers=headers)
  41. 3、上传多个字段+图片:
  42. 见截图
  43. 二、下载excel 接口说明
  44. 1、python
  45. headers={XXX}
  46. url=url+'/admin/activity/%s/apply/download?status=%s'%(id,status)
  47. r = requests.get(url=url,headers=headers,stream=True)
  48. print(r.content)#获取返回结果二进制格式的
  49. fw = open(r'C:\Users\Dell\Desktop\1.xlsx','wb')#指定绝对路径
  50. fw.write(r.content)#将二进制格式内容写入文件
  51. fw.close()
  52. 2、postman
  53. 请求方式+请求路径+请求头+请求参数
  54. send 请求
  55. Download按钮下载excel到本地
  56. 3、jmeter
  57. HTTP信息头管理器 添加Authorization
  58. HTTP请求:协议、ip、端口、get、路径
  59. 添加个BeanShell Sampler:下载到本地并且重命名
  60. import java.io.*;
  61. byte[] result = prev.getResponseData(); //这个是获取到请求返回的数据,prev是获取上个请求的返回
  62. String file_name = "C:\\Users\\Dell\\Desktop\\123.xlsx"; //代表存放文件的位置和文件名, 相对路径的话会保存到bin 目录下,且保存的文件名的后缀与原图一致
  63. File file = new File(file_name);
  64. FileOutputStream out = new FileOutputStream(file);
  65. out.write(result);
  66. out.close();

一、

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

A、postman实现:

B、jmeter实现:

 

3、python:

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

 

原文链接:https://blog.csdn.net/lusainan_testgirl/article/details/108777082

0

1

2

3

4

5

6

7



所属网站分类: 技术文章 > 博客

作者:你太美丽

链接: https://www.pythonheidong.com/blog/article/553991/5ab7fcfd52956b187dcc/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

24 0
收藏该文
已收藏

评论内容:(最多支持255个字符)