Ich bin ziemlich neu in Java und stieß auf dieses Problem. Ich habe versucht zu suchen, aber nie eine richtige Antwort bekommen.URISyntaxException - Umgang mit URLs mit%
Ich habe eine Zeichenfolge beispielsweise
String name = anything 10%-20% 04-03-07
Jetzt muss ich wie unten eine URL-Zeichenfolge mit diesem String name aufzubauen.
http://something.com/test/anything 10%-20% 04-03-07
Ich habe versucht, die Räume durch% 20 ersetzt und jetzt erhalte ich die neue URL als
http://something.com/test/anything%2010%-20%%2004-03-07
Wenn ich diese URL verwenden und Feuer es in Firefox funktioniert es ganz gut, aber bei der Verarbeitung in Java es wirft offenbar
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
Dies ist der Code, werfen Fehler
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
Dank, das perfekt funktioniert zu erstellen. Ich habe versucht, mir zu entziehen. Dachte nicht aus einer Ersatzperspektive. – Vish