解決接口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(" "" "); //將空格進行轉化  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章