JSON传输数据加号变空格问题
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
1、我方系统与对端系统有一个对接接口,对端系统定时通过HTTP消息把数据发送给我方系统
2、接口传输的数据如下: { "type": 1, "date": "2017-10-29 00:00:00", "saleId": "M16A00_RR171029000040+" }
3、在调试的过程中,总是报错:10020, "签名错误"
4、经过调试发现接收到的数据为: { "type": 1, "date": "2017-10-29 00:00:00", "saleId": "M16A00_RR171029000040 " }
5、比对一下发送的数据和接收到的数据之和,发现加号变成了空格
6、这个我使用Java进行post方式测试,没发现这个问题,而对端是使用.NET进行发送的,怀疑是.NET内部进行编码的问题
7、查找了一下,发现由于历史的原因,表单使用的Url编码实现并不符合最新的标准,在每个表单域被Url编码之后发送到服务器的时候,加号被编码成了空格。
8、解决方法:使用HttpWebRequest发送POST的时候,需要用HttpUtility.UrlEncode进行编码,将特殊符号进行编码。
GitHub 加速计划 / js / json
17
5
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:2 个月前 )
960b763e
5 个月前
8c391e04
8 个月前
更多推荐
已为社区贡献9条内容
所有评论(0)