URL Encoding은 일반적으로 java에서는 URLEncoder.encode()함수를 사용하지만
이러한 방식은 모든 특수기호도 encoding되기 때문에 중요한
URL?abc=1&def=2?token=1
등에서 뒤의 ? 같은것은 리다이렉트 후 파라미터로 쓴다든지 하는 중요한, encode되면 안되는 것이기 때문에
encoding에서 제외해야 한다..
이런저런 percent-character(encoding후 %+로 변환)특수기호를 모두 제외하고 encoding 해주는 라이브러리가 있다.
try {
org.apache.commons.codec.net.URLCodec urlEncoder = new URLCodec();
query = urlEncoder.encode(query);
} catch (EncoderException e) {
}