HTTP请求包文格式
补充一下:
application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。
multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。
text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。
通过抓包获取以下数据。根据这些数据和数据的格式,可以对网络编程的理解和网络请求框架的使用进行更加深刻的理解。
Post表单形式上传文件:(同时上传两个文件,每个文件对应一部分)
请求: //注意每一行的细节“–”、“换行”、“boundary的值”
POST http://125.216.242.147:8080/yjy/file/upload HTTP/1.1
Content-Type: multipart/form-data; boundary=da185eb8-c4f3-47af-82b9-92c031a9bb09
Content-Length: 729
Host: 125.216.242.147:8080 //目标地址
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/3.3.1
–da185eb8-c4f3-47af-82b9-92c031a9bb09 //开始设置参数:levelId=2
Content-Disposition: form-data; name=”levelId”//参数key:levelId
Content-Length: 1 //参数value的长度
2 //参数value:2
–da185eb8-c4f3-47af-82b9-92c031a9bb09 //开始设置参数:userId=402875……
Content-Disposition: form-data; name=”userId”
Content-Length: 32
40287581551beea001551bf5f29b0000
–da185eb8-c4f3-47af-82b9-92c031a9bb09 //添加文件、文件名、文件内容
Content-Disposition: form-data; name=”file”; filename=”test.txt” //注意:name 和filename 值的意义
Content-Type: text/plain //MIME类型:
Content-Length: 61 //文件的长度
01268845855584585586935888 //文件具体的内容……
this is my words
fhfh……
–da185eb8-c4f3-47af-82b9-92c031a9bb09
Content-Disposition: form-data; name=”file”; filename=”test2.txt”
Content-Type: text/plain
Content-Length: 58
01268845855584585586935888
this is my words
fghfhf
test2……
–da185eb8-c4f3-47af-82b9-92c031a9bb09– //注意最后还有个“ – ”,表示全部结束
响应:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=UTF-8
Content-Length: 566
Date: Fri, 19 Aug 2016 07:26:23 GMT
{“result”:true,”document”:{“docId”:”297ed60b56a159b70156a1b18ecc0003”,”originalName”:”test.txt”,”saveName”:”201608191526413400.txt”,”savePath”:”D:\image\201608191526413400.txt”,”downPath”:”http://125.216.242.147:8080/attachment/201608191526413400.txt“,”type”:”“,”publishStatus”:0,”needPay”:0,”money”:0,”docSize”:61,”uploadTime”:1471591583426,”user”:{“userId”:”40287581551beea001551bf5f29b0000”,”username”:null,”password”:null,”realName”:null,”avator”:null,”money”:0,”role”:null,”level”:null},”level”:{“levelId”:”2”,”levelName”:null,”levelDesc”:null,”users”:null}}}
将文件作为请求体,发送到服务器:
请求:
POST http://125.216.242.147:8080/yjy/file/upload HTTP/1.1
Content-Type: application/octet-stream
Content-Length: 61
Host: 125.216.242.147:8080
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/3.3.1
01268845855584585586935888
this is my words…… //文件具体内容
响应:
HTTP/1.1 500 Internal Server Error
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=utf-8
Content-Language: en
Content-Length: 4445
Date: Fri, 19 Aug 2016 07:28:32 GMT
Connection: close
<html><head><title>Apache Tomcat/7.0.54 - Erro…(省略)
Post传递参数
请求:
POST http://125.216.242.147:8080/yjy/file/list HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 55
Host: 125.216.242.147:8080
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/3.3.1
levelId=2&uploadUserId=40287581551beea001551bf5f29b0000 //参数的key和value,多个参数用“&”连接
响应:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/plain;charset=ISO-8859-1
Content-Length: 13736
Date: Sat, 20 Aug 2016 02:42:04 GMT
{“result”:true,”total”:24,”documents”:[{“docId”:”297ed60b5654a206015654d6f8560016”,”originalName”:”……}
//具体的Json串
下载文件时的接收到的报文格式:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Accept-Ranges: bytes
ETag: W/”61-1471675934041”
Last-Modified: Sat, 20 Aug 2016 06:52:14 GMT
Content-Type: text/plain(注:txt)
(注:word:Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document)
Content-Length: 61 //报文数据部分的长度,可以用来表示“所下载文件的大小”
Date: Tue, 06 Sep 2016 03:33:27 GMT
01268845855584585586935888
this is my words
……
HTTP请求包文格式相关推荐
- FPGA实战-以太网包文
为什么要学包文? 1.FPGA最大的应用领域是通信 2.以太网领域通常将数据封装成包文格式 3.处理的基本单元 以太网包文的最简单格式 包文的接口表示有哪些 data :传输的数据信号: vld ...
- FIFO加包文,切割包文
一.模块没收到一个包文时,先发送一个开始包文,再发送数据包文,最后发送结束包文. 输入的包文是32bit,而输出的包文格式要求为8bit 开始包文格式如下: 8'h55 8''h55 8'h55 8' ...
- 利用状态机实现简易包文类型识别器
数据包文格式分为数据包文和控制包文格式 //第一段 always @(posedge clk or negedge rst_n)beginif(rst_n==1'b0)beginstate_c< ...
- HTTP 请求包/回复包格式数据分析
GET /cgi-bin/user/qzone_cgi_msg_getcnt2?uin=1020578379bm=08409c0002008001&v=1&g_tk=158987147 ...
- 挖漏经验:在密码重置请求包中添加X-Forwarded-Host实现受害者账户完全劫持
今天分享的这篇Writeup为作者通过利用目标网站"忘记密码"功能,在重置密码请求发包中添加X-Forwarded-Host主机信息,欺骗目标网站把重置密码的链接导向到自己的服务器 ...
- UDP数据包协议格式详解
源端口目的端口:是0-65535任何数字,在收到请求时系统会为客户端动态分配,0-1023为知名端口号 报文长度(单位4byte):表示udp报头+udp数据总长度,有别于tcp,也没有选项 UDP报 ...
- COAP数据包协议格式详解
Ver:版本编号,占2bit,固定01 T:报文类型,占2bit,CON=00,NON=01,ACK=10,RST=11 CON--需要被确认的请求,如果CON请求被发送,那么对方必须做出响应. NO ...
- Pcap 数据包捕获格式详解
Pcap 是 Packet Capture 的英文缩写,是一种行业标准的网络数据包捕获格式.如果你是网络开发人员,那么通常会使用 Wireshark.Tcpdump 或 WinDump 等网络分析器捕 ...
- TCP数据包协议格式详解
出一个专栏把通信协议搞一下吧,万物互联的根本呀. IP 版本4位:4(二进制0100)表示IPv4,6(二进制0110)表示IPv6 报头长度(单位4byte):因为选项长度不确定,取值范围是5-15 ...
最新文章
- OKR的实施案例:OKR不需要很复杂
- 平正真诚——记红帆公司2011年秋季旅游·衡山
- C# 9.0 终于来了, Top-level programs 和 Partial Methods 两大新特性探究
- linux组的管理命令,linux 用户和组管理命令(示例代码)
- 安装oracle的口令是,Oracle中口令设置、用户解锁、卸载等问题
- 一般将来时语法课教案_优秀教案人教版必修二Unit2——语法专题课训练
- (绪论和参考文献)基于深度强化学习的复杂作业车间调度问题研究
- 06 - 雷达发射机 概述
- 《从0到1:CTFer成长之路》书籍配套题目-[第二章 web进阶]死亡ping命令
- 如何理解刑法中的“以非法占有为目的”
- 【2021最新版】《全网搜索 6.0》软件使用手册
- 故障分析 | 使用--force批量导入数据导致部分数据丢失的问题
- 【033】Bootstrap实现标签页效果
- 2021观澜二中高考成绩查询入口,深圳2019年中考成绩出炉 各校高分成绩汇总
- 美团住宿业务数据治理体系化思考与实践
- 局域网限速软件_复工复学活力加倍、办公类软件最低 6 折再来袭!
- Android刘海屏、水滴屏全面屏适配详解,997页字节跳动Android面试真题解析火爆全网
- 【pandas】将单元格中的多个数据拆分为多行数据(explode),以csv文件为源文件进行处理
- java获取ajax传的数组对象,ajax传递对象数组
- 夜深模拟器不能连接 adb shell 解决方案
热门文章
- 计算机毕业设计ssm高校就业管理系统157v3系统+程序+源码+lw+远程部署
- DIRECT3D基础知识 ---- 渲染与纹理 及位图,顶点缓存释义
- 四川山海蓝图抖音橱窗和抖音小店的区别
- 你见过最差的程序员是怎样的?
- 各种排序算法的时间复杂度和空间复杂度-记忆方式
- one平台 复现代码 节点缓存感知的DTN概率路由算法
- 取excel内容相同的值,并写到另一个excel表格内
- 现代计算机组成原理第六章,《现代计算机组成原理》课件第6章.pdf
- echarts按照时间显示柱状图_ECharts柱状图的标注如何实现
- C++不同的数据成员类型