Como codificar parâmetros de consulta para ir em uma url em Java? Eu sei, isso parece uma pergunta óbvia e já feita.
Existem duas sutilezas das quais não tenho certeza:
- Os espaços devem ser codificados no url como "+" ou como "% 20"? No Chrome, se eu digitar "http://google.com/foo=?bar me", o Chrome muda para ser codificado com% 20
- É necessário / correto codificar dois pontos ":" como% 3B? Chrome não.
Notas:
java.net.URLEncoder.encodenão parece funcionar, parece que a codificação de dados deve ser enviada do formulário. Por exemplo, ele codifica o espaço em+vez de%20e codifica dois pontos, o que não é necessário.java.net.URInão codifica parâmetros de consulta
application/x-www-form-urlencodedpares de chave / valor. Veja aqui para mais informações: ilegalargumentexception.blogspot.com/2009/12/…