我對Java相當陌生,遇到過這個問題。我試圖尋找,但從來沒有得到正確的答案。URISyntaxException - 如何處理網址與%
我有例如
String name = anything 10%-20% 04-03-07
現在我需要建立一個URL字符串中包含此字符串名稱的字符串。
http://something.com/test/anything 10%-20% 04-03-07
我試着用%20替換空間,現在我得到了新的URL爲
http://something.com/test/anything%2010%-20%%2004-03-07
當我使用這個網址和火它在Firefox它只是正常工作,但同時在Java中處理這顯然是投擲
Exception in thread "main" java.lang.IllegalArgumentException
at java.net.URI.create(Unknown Source)
at org.apache.http.client.methods.HttpGet.<init>(HttpGet.java:69)
Caused by: java.net.URISyntaxException: Malformed escape pair at index 39 :
at java.net.URI$Parser.fail(Unknown Source)
at java.net.URI$Parser.scanEscape(Unknown Source)
at java.net.URI$Parser.scan(Unknown Source)
at java.net.URI$Parser.checkChars(Unknown Source)
at java.net.URI$Parser.parseHierarchical(Unknown Source)
at java.net.URI$Parser.parse(Unknown Source)
at java.net.URI.<init>(Unknown Source)
... 6 more
這是代碼拋出錯誤
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
感謝完美的作品。我試圖逃避它。沒有從替換角度思考。 – Vish