使用get方式时参数中不能有特殊字符,如:,空格,%,#,&,=等等;尤其是一些图片带有特殊字符,查询图片url的时候
解决办法:用URL转义符替换。
下面列出如下:
URL 中+号表示空格 %2B
空格 URL中的空格可以用+号或者编码 %20
/ 分隔目录和子目录 %2F
? 分隔实际的URL和参数 %3F
% 指定特殊字符 %25
#表示书签 %23
& URL 中指定的参数间的分隔符 %26
= URL 中指定参数的值 %3D
这里以http://localhost/getCode?url=www.baidu.com?channel=HY0649&type=02为例:
很好解决:前端传递参数时候encode一下此参数即可。我这边在java模拟一下encode,再用encode后的参数发送请求
public static void main(String[] args) throws UnsupportedEncodingException {
String url = "www.baidu.com?channel=HY0649&type=02";
String encodeUrl = URLEncoder.encode(url, "UTF-8");
System.out.println(encodeUrl);
}
encode后的url参数输出为:www.baidu.com%3Fchannel%3DHY0649%26type%3D02
或者把get方法改成post