Java에서 URL로 이동하기 위해 쿼리 매개 변수를 어떻게 인코딩합니까? 나는 이것이 명백하고 이미 질문 한 것처럼 보입니다.
확실하지 않은 두 가지 미묘함이 있습니다.
- 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/...을