URL编码问题java.io.IOException: Server returned HTTP response code: 400 for URL: http://

今天搞了段代码,在本地跑的好好的,搞到测试服务器就不行了,上网查了下原来是url编码的问题:

1.url该编码的编码一定要编码,否则如果存在空格就会报400错误,那么什么样的url是该编码的呢?

      url中有空格等特殊字符的

      . URL中有中文的

2.编码要只对参数编码,不要对整个url进行编码,因为如果对整个url编码的话会把url中的"/","&"等字符也进行编码了

3.使用URLEncoder.encode("str","charset");方法编码

示例:

String url = "https://mp.csdn.net/allBuriedPoint/selectPageCount.html?"

        + "&endDate=" + URLEncoder.encode("2018-11-14 00:00:00","utf-8")

        + "&address=" + URLEncoder.encode("北京市","utf-8");

4.还有一篇参考博客,写的很详细 http://www.ruanyifeng.com/blog/2010/02/url_encoding.html

你可能感兴趣的:(java)