今天搞了段代码,在本地跑的好好的,搞到测试服务器就不行了,上网查了下原来是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