当我尝试从我的Android应用程序连接时,我正在exception
说Java 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
答案 0 :(得分:4)
如果您想在网址中使用%
,首先需要对其进行编码。
首先,您需要在连接前用%
将%25
替换为字符....1f21%wlan0...
中的.....1f21%25wlan0....
。
您可以使用以下代码在Java中编码URL
String encodedUrl = java.net.URLEncoder.encode(<your_url>,"UTF-8");
有关详细信息,请查看以下链接。
2.URL encoding character reference
更新:
如果您不想使用URL编码器,那么您可以试试这个:
yourURL.replaceAll("%", "%25");
这里可以替换单个特殊字符,但如果您有许多需要正确URL编码的特殊字符,那么这样做是一项单调乏味的任务。