URL参数中有 特殊符号或加密数据 的问题解决

时间:2024-10-28 23:36:56

url出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,如何是好?
解决办法
将这些字符转化成服务器可以识别的字符,对应关系如下:
URL字符转义

用其它字符替代吧,或用全角的。

+    URL 中+号表示空格                            %2B   
空格 URL中的空格可以用+号或者编码           %20 
/     分隔目录和子目录                              %2F     
?     分隔实际的URL和参数                         %3F     
%    指定特殊字符                                   %25     
#    表示书签                                         %23     
&    URL 中指定的参数间的分隔符                %26     
=    URL 中指定参数的值                           %3D

把DES加密后的字节信息简单地当作字符串,你会丢失许多信息。例如DES加密后直接放到URL的参数部分,当URLEnCode时就会当成字符串处理,从而丢失信息。
要想将DES加密结果变为字符串,最简单的想法就是使用Base64编码。而这个编码结果直接放到url参数中使用,当URLEnCode就不会有影响。当然在URLDeCode后,解码需要多一个Base64解码的步骤。