Comment encoder les paramètres de requête pour aller sur une URL en Java? Je sais, cela semble être une question évidente et déjà posée.
Il y a deux subtilités dont je ne suis pas sûr:
- Les espaces doivent-ils être encodés sur l'URL sous la forme "+" ou "% 20"? Dans Chrome, si je tape "http://google.com/foo=?bar me", Chrome le modifie pour qu'il soit encodé avec% 20
- Est-il nécessaire / correct de coder les deux points ":" comme% 3B? Chrome ne le fait pas.
Remarques:
java.net.URLEncoder.encode
ne semble pas fonctionner, il semble que ce soit pour le codage des données à soumettre. Par exemple, il encode l'espace comme+
au lieu de%20
et encode deux-points, ce qui n'est pas nécessaire.java.net.URI
n'encode pas les paramètres de requête
application/x-www-form-urlencoded
des paires clé / valeur. Voir ici pour en savoir plus : legalargumentexception.blogspot.com/2009/12/…