URISyntaxException - Umgang mit urls mit %
Ich bin ziemlich neu in Java und bin dabei auf dieses Problem. Ich habe versucht der Suche, aber habe nie eine richtige Antwort.
Ich habe einen string z.B.
String name = anything 10%-20% 04-03-07
Nun brauche ich zum Aufbau eines url-Strings mit diesem String name wie unten.
http://something.com/test/anything 10%-20% 04-03-07
Ich habe versucht, ersetzen Sie die Leerzeichen mit %20 und jetzt bin ich immer die neue url als
http://something.com/test/anything%2010%-20%%2004-03-07
Wenn ich diese url und Feuer im firefox funktioniert es einfach gut, aber während der Verarbeitung in Java ist es offenbar zu werfen
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);
InformationsquelleAutor Vish | 2012-09-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kodieren auch das Prozent-Zeichen mit
%25
.http://something.com/test/anything 10%-20% 04-03-07
arbeiten würde, mithttp://something.com/test/anything%2010%25-20%25%2004-03-07
.Sollten Sie in der Lage zu verwenden, zum Beispiel URLEncoder.codieren für diese - nur daran erinnern, dass Sie brauchen, um urlencode Sie den Pfad-Teil, nicht alles, was vor, dass so etwas wie
Hinweis: URLEncoder kodiert Leerzeichen
+
statt%20
, aber es sollte funktionieren gleich gut, beide sind ok.InformationsquelleAutor eis
Könnten Sie java.net.URI um einen uri erstellen, der von Ihrem string
InformationsquelleAutor Guy