Come si codificano i parametri di query per andare su un URL in Java? Lo so, questa sembra una domanda ovvia e già posta.
Ci sono due sottigliezze di cui non sono sicuro:
- Gli spazi devono essere codificati nell'URL come "+" o come "% 20"? In Chrome se digito "http://google.com/foo=?bar me", Chrome lo cambia per essere codificato con% 20
- È necessario / corretto codificare i due punti ":" come% 3B? Chrome no.
Appunti:
java.net.URLEncoder.encode
non sembra funzionare, sembra che sia per la codifica dei dati da inviare. Ad esempio, codifica lo spazio come+
invece di%20
e codifica i due punti che non è necessario.java.net.URI
non codifica i parametri di query
application/x-www-form-urlencoded
coppie chiave / valore. Vedi qui per ulteriori informazioni: illegaleargumentexception.blogspot.com/2009/12/…