¿Cómo se codifican los parámetros de consulta para ir a una URL en Java? Lo sé, esto parece una pregunta obvia y ya hecha.
Hay dos sutilezas de las que no estoy seguro:
- ¿Deben codificarse los espacios en la URL como "+" o como "% 20"? En Chrome, si escribo "http://google.com/foo=?bar me", Chrome lo cambia para que se codifique con% 20
- ¿Es necesario / correcto codificar los dos puntos ":" como% 3B? Chrome no lo hace.
Notas:
java.net.URLEncoder.encode
no parece funcionar, parece ser para que los datos de codificación se envíen desde el formulario. Por ejemplo, codifica espacio como en+
lugar de%20
y codifica dos puntos que no es necesario.java.net.URI
no codifica parámetros de consulta
application/x-www-form-urlencoded
pares clave / valor. Vea aquí para más información: illegalargumentexception.blogspot.com/2009/12/…