HTTP协议传输过程中的转义字符(upgrade)

我们在实际工作中可能会遇到使用一些sniff的软件去捕获http的包并且分析,并且如果是直接基于socket方式的访问需要直接使用转义字符(特殊字符)来向server端发起请求,下面是一些特殊符号和转义字符的使用,plus一个例子,通过这样的转换我们也可以使用nc等命令向一个端口发出指令.这样服务器端和客户端就能基于http进行传输和解析.
[ is %5b,
] is %5d,
" is %22
& is &
' is '
< is <
> is >
" is "
Sample:
/1/101/services/pss/~~/Player%5b@playerID=%221000739%22%5d/@watchers<Player-watchers><watchers><Watcher><playerID>1000747</playerID><nickname>N2002</nickname><watcherPendingTimestamp>20080217032801.0Z</watcherPendingTimestamp><relationshipType><m/></relationshipType><chatMessageCounter>1</chatMessageCounter><emailsReceivedCounter>1</emailsReceivedCounter><intimacyLevel>1</intimacyLevel></Watcher></watchers>
</Player-watchers>
=
/1/101/services/pss/~~/Player[@playerID="1000739"]/@watchers<Player-watchers><watchers><Watcher><playerID>1000747</playerID><nickname>N2002</nickname><watcherPendingTimestamp>20080217032801.0Z</watcherPendingTimestamp><relationshipType><m/></relationshipType><chatMessageCounter>1</chatMessageCounter><emailsReceivedCounter>1</emailsReceivedCounter><intimacyLevel>1</intimacyLevel></Watcher></watchers>
</Player-watchers>
OTA串口升级协议文档 串口升级底盘驱动程序技术文档 一、升级demo流程图: head 包头 2byte FA35 total_len 总的数据长度 4byte data_at 已发送的数据长度 4byte data_len 一帧数据长度 2byte crc 校验位 4byte data 二、升级协议说明 1. 核心板串口发送MCU复位命令之后,激活底盘进入升级状态,此时核心板将升级包以每帧最大2K的大小(最后一个数据包可以小于2K)发送给底盘,发完为止。每帧发送完成后,底盘都有回复本帧已经处理完成,核心板可以继续发送下一帧。升级完成之后,底盘有升级完成的回复。 2. 升级过程,帧通信协议结构为: define UPGRADE_FRAME_DATA_LEN_MAX 2048 typedef struct{ unsigned short head; // 0xFA35 unsigned int total_len; // 总的数据长度 unsigned int data_at; // 已发送的数据长度 unsigned short data_len; // 一帧数据长度 unsigned int crc; // just calulate data of upgrade_frame_str }upgrade_frame_head_str; typedef struct{ upgrade_frame_head_str header; unsigned char data[UPGRADE_FRAME_DATA_LEN_MAX]; }upgrade_frame_str; 三、客户自己要开发内容 1、STM32上串口通信、解包、固化的功能,接收来自核心板的程序包,解包,固化到STM32里。此功能是难点,要有足够的保障机制,确保升级过程中发生掉电、通信中断等异常后,再次上电时,STM32依然能正常工作。 说明:核心板会先发送(软重启:com_id = 0x09)命令使stm32重启进入升级模式,stm32等待下发数据,接收完一帧数据之后把接收到的upgrade_frame_head_str发给核心板,核心板用来判断stm32是否接收正确,如果正确会发送下一帧,直到所有数据发送完毕。stm32 通过判断total_len与接收到的总长度相等
最新发布
04-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值