解决接口Server returned HTTP response code: 505

在JEE开发中,有时候需要两个系统(工程)之间进行访问或数据交换,我这里用了非常传统的方法,就是使用http请求,当然这可能只适用于业务比较简单、不太重视安全的系统。

当使用http请求的时候,会经常在url后面带参数,比如:http://"+ip+":"+port+"/LWGL/dcsj/time/queryTimePie.html?gczbs=81zcScto26w&year=2016&startTime=2016-07-12 00:00:00&endTime=2016-07-12 23:59:59&dataType=2

参数时间经常会带有空格。

但有一次我使用这种方法的时候,后台报错了:

java.io.IOException: Server returned HTTP response code: 505 for URL: http://192.168.1.109:8080/test/moblie/this.do?info=hello world at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) ...........

后来检查了一遍,发现是参数info后面有空格,不管是post还是get都会有上面的那个错,具体更加深入的分析就我就没有做了,把空格去掉就OK了。如果非得要空格,可以在传参数的时候,用一个符号来代替空格,另外的方法接收到这个参数后,再将这个符号替换成空格即可。

比如:

String downloadFileName = java.net.URLEncoder.encode(fileName, "UTF-8");  

downloadFileName = downloadFileName.replaceAll("\\+"" "); //将加号还原为空格 
或者 
downloadFileName = downloadFileName.replaceAll(" "" "); //将空格进行转化  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章