2013-01-08 49 views
0

我收到exceptionJava URI Syntax Exception "java.io.IOException: java.net.URISyntaxException: Invalid % sequence: %wl in query at index 88:"當我嘗試從我的Android應用程序連接。Android java.io.IOException:java.net.URISyntaxException:

它似乎是拋出exception在URL中它說"%wl"和以下是URL。有沒有這方面的工作。

http://192.168.111.111:9000/RB/db.svc/upd?LinkId=184617ED1F21&IPs=fe80::1a46:17ff:feed:1f21%wlan0,192.168.1.127,&MNo=0771111111&sPin=000&Status=0 
+0

'URLEncoder.encode'來編碼url queryString –

回答

4

如果你想在你的URL中的第一個,你需要做的,用%是編碼。

因此,首先您需要在連接前用您的字符串....1f21%wlan0........1f21%25wlan0....替換%%25

您可以使用下面的代碼在Java

String encodedUrl = java.net.URLEncoder.encode(<your_url>,"UTF-8"); 

編碼URL看一看下面的鏈接,瞭解更多信息。

1.How to encode url in java

2.URL encoding character reference

UPDATE:

如果你不希望使用URL編碼器,那麼你可以試試這個:

yourURL.replaceAll("%", "%25"); 

正是在這裏很好取代一個特殊的角色,但如果你願意這樣做,這將是一個乏味的任務你有許多需要正確的URL編碼的特殊字符。

+0

所以你的意思是先取代然後再編碼url?當我這樣做時,它會給我一個格式不正確的URL異常 –

+0

如果你使用URLEncoder對它進行編碼,那麼不需要替換,它將被自動替換。 – Abubakkar

+0

嘗試兩種方式,它仍然給出了一個畸形的異常 –