在http请求中使用get传参需要注意 ,url参数中有+、空格、=、%、&、#等特殊符号可能在服务器端无法获得正确的参数值。
原因是 Url 的编码格式采用的是ASCII码,而不是Unicode,会将特殊符号进行转码,+ url中代表空格,故而,如果url传入+,则会自动转成空格。
使用get传参,不要使用此列特殊符号。 如必须使用则需要转换。
将这些字符转化成服务器可以识别的字符,对应关系如下:
符号 | 描述 | 替代 |
---|---|---|
+ | URL 中+号表示空格 | %2B |
空格 | URL中的空格可以用+号或者编码 | %20 |
/ | 分隔目录和子目录 | %2F |
? | 分隔实际的URL和参数 | %3F |
% | 指定特殊字符 | %25 |
# | 表示书签 | %23 |
& | URL 中指定的参数间的分隔符 | %26 |
= | URL 中指定参数的值 | %3D |