今天我把以前开发过的已经投入生产的一个数据抽取通道Servlet中间组件,为了使用python将ETL工程化,拿出来只能放到开发环境发布,以便测试。
然而之前一直用的WebSphere服务器,只能放在Tomcat中发布该中间组件,将一个请求参数中含有百分号‘%’ 的URL去访问,却碰到缺失参数的报错,
百思不得解,因为之前一直认为是对的事情一下子不正确了,只能把源代码拿出来去作debug打出日志,才看到原来是因为那个参数没有解析,被服务器自动忽略了!
还好搜索引擎比较给力,给出了点暗示,所以我就将参数值中的 ‘%’ 替换为 ‘%25’,问题就迎刃而解了!
下面给出一个对照表,这个是从别处拿过来的,收藏!
+ URL 中+号表示空格 %2B
空格 URL中的空格可以用+号或者编码 %20
/ 分隔目录和子目录 %2F
? 分隔实际的URL和参数 %3F
% 指定特殊字符 %25
# 表示书签 %23
& URL 中指定的参数间的分隔符 %26
= URL 中指定参数的值 %3D