

Postman 之 HTTP Multipart/form-data 调试
source link: https://www.tuicool.com/articles/jQFriae
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

无论是前端,还是后端开发,HTTP 接口的使用率实在是太高了。开发好了特定的 HTTP 接口,没有一个好的测试工具,怎么可以呢?
而 Postman 就是一款好用的爱不释手的测试工具,谁用谁说爽。
接口说明
已开发好 /woms/api/UpEvent.php 的 HTTP 接口。该接口完成 JSON 消息上报及若干图片文件上传的任务。主要通过 HTTP 的 multipart/form-data 格式推送数据到服务器。该格式详细定义可见 RFC1867
Postman 登场
Postman 是 Chrome 的插件,但我觉得 PC 版更好,我选择 PC 版本! Postman-win64-7.7.3-Setup.exe
安装好之后,初次打开,需要注册账号,按照提示,输入账号,设置密码,然后就可以注册成功。登录进入主界面后。第一眼,就看着特别舒服。
Postman 调试 HTTP 接口
主要有3点:
-
输入测试接口
点击 Create a request , 输入 http 测试接口
-
按照接口方法构造测试数据
根据 Multipart/form-data 有几部分内容,就输入 几个键名称 和 值内容, 截图见下!
-
查看输出,验证结果
Postman 调试截图如下:
注意: 上图我用红色小圈括起来的部分,这里一定不可以选错。
抓包截图如下:
抓包看: 共发送了6段数据,第一段是 Json,其余的都是 jpeg 的图片。其实这里的第一段 Json 数据就是对5张图片数据的描述。
HTTP multipart/form-data 补充
multipart/form-data 主要是将多条表单的数据处理为一条消息,发送到服务器。
多条消息之间用分隔符分开。分隔符用 boundary=xxxxxx 来定义,xxxxx就是分隔符。
这样一个 HTTP 请求,由于有 boundary 隔离,既可以上传文本消息的同时,也可以上传文件。当上传的字段是文件时,可用 Content-Type 标明文件类型;
消息实例的具体文本如下: 其中图片数据特别多(乱码部分),我特意删除后贴出来:
1 POST /woms/api/UpEvent.php HTTP/1.1 2 Content-Type: multipart/form-data; boundary=----4235013262151947840 3 User-Agent: PostmanRuntime/7.17.1 4 Accept: */* 5 Cache-Control: no-cache 6 Postman-Token: 552bb4b0-ddbe-4e10-b5b1-dd16ce6afe82 7 Host: 192.168.100.146 8 Accept-Encoding: gzip, deflate 9 Content-Length: 661588 10 Connection: keep-alive 11 12 ----4235013262151947840 13 Content-Disposition: form-data; name="info" 14 Content-Type: application/json 15 16 {"AuthUser":"13800001111", 17 "AuthPasswd ":"123456", 18 "Timestamp":"1568743234", 19 "EventTime":"1568743234", 20 "EventType":1, 21 "EventLevel":2, 22 "EventSubject":"Test", 23 "EventDesc":"Test", 24 "Longitude":"33.44", 25 "Latitude": "116.43", 26 "AccpetUser": "18200129832", 27 "FileList": [{ 28 "FileName": "haha.jpg", 29 "FileSize": 83}, 30 {"FileName": "haha.txt", 31 " FileSize": 16}] 32 } 33 ----4235013262151947840 34 Content-Disposition: form-data; name="file1"; filename="haha.jpg" 35 Content-Type: image/jpeg 36 37 ???àJFIF??C 38 $.' ",#(7),01444'9=82<.342??C 39 ----4235013262151947840 40 Content-Disposition: form-data; name="file2"; filename="6.jpeg" 41 Content-Type: image/jpeg 42 43 ???á 44 ExifII*4M¤?(1"′2?iì$ü 45 ?áT?a1??ù 46 ----4235013262151947840 47 Content-Disposition: form-data; name="file3"; filename="7.jpeg" 48 Content-Type: image/jpeg 49 50 ?s??:?ó?μ???üo6??é_?o????~áczóê??A????&???#áè?????áè??ù 51 ----4235013262151947840 52 Content-Disposition: form-data; name="file4"; filename="8.jpeg" 53 Content-Type: image/jpeg 54 55 ?y??ü·á??ù 56 ----4235013262151947840 57 Content-Disposition: form-data; name="file5"; filename="9.jpeg" 58 Content-Type: image/jpeg 59 60 ???á7%ExifMM*44¤?(1"′2?iì$ 61 ?}?.W§?N/éy}'ü?%ì}′ù=±ú??S?g???Yoíùüê|t???ú??ù 62 ----4235013262151947840--
Recommend
-
12
PHP multipart/form-data 远程DOS漏洞 百度安全攻防实验室
-
13
在HTTP服务应用中进行数据提交一般都使用application/json,application/x-www-form-urlencoded和multipart/form-data这几种内容格式。这几种格式的处理复杂度处理...
-
7
1. Form简介 Form
-
11
Multipart/form-data submit through javascript in Play Framework Reading Time: 2 minutesNormally when we submit any multi-p...
-
6
Multipart HTTP responses in Go 2019 02 12 Sometimes I write HTTP servers that need to serve multiple values in response to a single request. If the values are small, one common way is to define an e.g. JSON...
-
15
V2EX › 程序员 接口调试工具, apifox vs apipost vs postman vs yapi unt · 1 天前 via iPh...
-
5
HTTP POST (multipart/form-data) on Android May 24, 2012 Since the c...
-
7
HMS Core推送服务支持开发者使用HTTPS协议接入Push服务端。Postman是一款接口测试工具,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获...
-
7
Mariajose Martinez October 24, 2022 6 minute re...
-
9
Golang multipart/form-data File Upload · GitHub Instantly share code, notes, and snippet...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK