Wie codiert man Abfrageparameter für eine URL in Java? Ich weiß, das scheint eine offensichtliche und bereits gestellte Frage zu sein.
Es gibt zwei Feinheiten, bei denen ich mir nicht sicher bin:
- Sollten Leerzeichen in der URL als "+" oder als "% 20" codiert werden? Wenn ich in Chrome "http://google.com/foo=?bar me" eingebe, ändert Chrome es so, dass es mit% 20 codiert wird
- Ist es notwendig / richtig, Doppelpunkte ":" als% 3B zu codieren? Chrome nicht.
Anmerkungen:
java.net.URLEncoder.encodescheint nicht zu funktionieren, es scheint zu sein, dass Codierungsdaten vom Formular gesendet werden. Beispielsweise wird der Speicherplatz als+anstelle von%20und der Doppelpunkt codiert, der nicht erforderlich ist.java.net.URIcodiert keine Abfrageparameter
application/x-www-form-urlencodedSchlüssel / Wert-Paare erwarten . Weitere Informationen finden