URL路径中包含中文,使用httpsurlconnection无法连接
需要对中文进行编码,需要注意的一点是不能对整条url进行编码,因为这样会将路径中的“/”也被编码,导致报错java.net.MalformedURLException: no protocol。
下面这个方法适合路径中本身包含中文,如果参数中有中文,需要对参数进行编码。
URL url1 = new URL(url.substring(0, url.lastIndexOf("/"))
+ URLEncoder.encode(url.substring(url.lastIndexOf("/")+1, url.length()), "utf-8"));