java.net.URISyntaxException 問題解決


先上代碼:

Properties pro = PropertyUtil.getPropertiesInfo("xxx.properties");
String url = pro.getProperty("xxxxxxx");

HttpPost httpPost = new HttpPost(url);

  自己在本地開發的時候,一直沒有問題,上了測試環境后一直報錯:

java.net.URISyntaxException: Illegal character in query at index 65

起初我在網上也查了一些這個問題,都說地址中涉及了特殊字符,如‘|’‘&’等。要通過new一個新的url的方式解決(具體不細說了,可自行搜索),我自己也按這種方式改了,
但在執行返回代碼的時候報錯:

Target host must not be null, or set in parameters

 

HttpResponse response = client.execute(httpPost); 

 

  解決先前的問題,又遇到了新的問題,就想會不會解決問題的方式不對,果不其然,打開配置文件xxx.properties,詳細查看一番,發現在配置的地址最后面多了一個空格,

刪除后,解決。

  最后,列幾個特殊字符及十六進制值

           特殊含義                                               十六進制值 
1.+ 表示空格(在 URL 中不能使用空格)              %20 
2./ 分隔目錄和子目錄                                              %2F 
3.? 分隔實際的 URL 和參數                                    %3F 
4.% 指定特殊字符                                                   %25 
5.# 表示書簽                                                            %23 
6.& URL 中指定的參數間的分隔符                          %26 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM