Sono abbastanza nuovo in Java e ho trovato questo problema. Ho provato a cercare ma non ho mai avuto una risposta corretta.URISyntaxException - Come gestire gli URL con%
Ho una stringa per esempio
String name = anything 10%-20% 04-03-07
Ora ho bisogno di costruire una stringa URL con questo nome String come qui di seguito.
http://something.com/test/anything 10%-20% 04-03-07
Ho provato a sostituire gli spazi con% 20 e ora sto ottenendo il nuovo URL,
http://something.com/test/anything%2010%-20%%2004-03-07
Quando uso questo URL e sparo in Firefox funziona bene ma durante l'elaborazione in Java è apparentemente gettando
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
Questo è il codice di errore gettando
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
Grazie che funziona perfettamente. Stavo cercando di evadere. Non ha pensato da una prospettiva di sostituzione. – Vish