问题描述
中文URL链接在谷歌浏览器访问正常而Postman、IE、httpClient访问不正常
原因
通过浏览器的Console查看到了谷歌浏览器访问的URL,发现:
请求的HTTP URL并不是原来的中文URL
而是通过URLEnCode-UTF-8方式将中文进行加密
解决方案: 将链接通过java.net.URLEncoder类进行encode加密即可访问
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
public class JavaDemo {
public static void main(String[] args) throws UnsupportedEncodingException {
String url = "http://helloworld/你好";
System.out.println(url);
System.out.println(url.equals("http://helloworld/你好"));
url = URLEncoder.encode(url, "UTF-8");
System.out.println(url);
}
}
该博客探讨了中文HTTP URL在不同环境下返回400错误的问题。内容指出,谷歌浏览器能正常访问中文URL,但Postman、IE和httpClient会遇到问题。原因在于这些工具未使用URLEncode-UTF-8加密中文。解决方案是预先对URL进行URLEncode-UTF-8编码。
2878

被折叠的 条评论
为什么被折叠?



