Android java.io.IOException:java.net.URISyntaxException:

时间:2013-01-08 11:50:45

标签: java android

当我尝试从我的Android应用程序连接时,我正在exceptionJava URI Syntax Exception "java.io.IOException: java.net.URISyntaxException: Invalid % sequence: %wl in query at index 88:"

似乎是将exception放在网址"%wl"中,以下是网址。有没有解决这个问题的方法。

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

1 个答案:

答案 0 :(得分:4)

如果您想在网址中使用%,首先需要对其进行编码。

首先,您需要在连接前用%%25替换为字符....1f21%wlan0...中的.....1f21%25wlan0....

您可以使用以下代码在Java中编码URL

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

有关详细信息,请查看以下链接。

1.How to encode url in java

2.URL encoding character reference

更新:

如果您不想使用URL编码器,那么您可以试试这个:

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

这里可以替换单个特殊字符,但如果您有许多需要正确URL编码的特殊字符,那么这样做是一项单调乏味的任务。