使用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