如果网页使用表单编码规则解析查询字符串,原始加号可能被解释为空格。这不一定是键盘少打了符号或电脑修改了文字,而可能是输入所处的编码层不同。应先确认原始查询串和采用的解析方式,不能把地址栏里看到的字符与程序取出的值直接当成同一层记录。

适用的是application/x-www-form-urlencoded解析,以及URLSearchParams从字符串初始化的情形。WHATWG URL标准第5.1节规定,名称和值中的原始加号字节先换成空格,然后再作百分号解码: 。这里不说所有URL路径和所有解码函数都会这样处理,加号出现在别的位置时要查相应规则。
观察时可以由维护方使用没有敏感信息的样例,分别保留原始查询串和解析后的参数值。例如原始值A+B按本规则会得到中间为空格的值;原始值A%2BB则在后续百分号解码后得到带加号的值。替换发生在百分号解码之前,所以不能仅凭两串看起来都表示加号,就预设结果相同。这个例子说明规范,不冒充现场业务的测试结果。
还要区分手工拼好的查询字符串与通过结构化接口添加的值。看到程序里使用了URLSearchParams,不足以说明最初如何构造输入;维护方应核对字符在哪一层进入、有没有被重复转换。若原始查询本来就与预期不符,应先查构造过程;若原始值正确而取出值不同,再对照具体解析步骤,不能一开始就重装输入法或更换键盘。
风险是对带签名、令牌或业务编号的真实链接反复解码再重发,改变含义或暴露资料。只用获准的无敏感样例定位;已经提交的业务先按原编号回查,不因显示少了一个符号就重新办理。没有原始字符串和解析方式时,先保留未知,不凭外观批量替换全部加号。
下一步可准备去敏样例、程序使用的解析接口和出错阶段。东莞市有台式电脑启用覆盖台账,拨400-877-9605可核实第三方是否协助电脑端网页参数现象检查,正式业务数据的修改由原系统负责方确认。电脑快修网提供信息展示与维修对接,台账不证明掌握外部系统的编码实现,也不等于即时履约。