Як один кодує параметри запиту, щоб перейти по URL на Java? Я знаю, це здається очевидним і вже заданим питанням.
Є дві тонкощі, в яких я не впевнений:
- Чи повинні пробіли кодуватися в URL-адресі як "+" або як "% 20"? У хромі, якщо я набираю "http://google.com/foo=?bar me", хром змінює його для кодування на% 20
- Чи потрібно / правильно кодувати двокрапки ":" як% 3B? Chrome ні.
Примітки:
java.net.URLEncoder.encode
Схоже, це не працює, здається, що для кодування даних надсилається форма. Наприклад, він кодує простір як+
замість%20
, а кодує двокрапку, яка не потрібна.java.net.URI
не кодує параметри запиту
application/x-www-form-urlencoded
пар ключів / значень. Дивіться тут докладніше: illegalargumentexception.blogspot.com/2009/12/…