>Java >java지도 시간 >Java에서 HTTP URL을 올바르게 인코딩하는 방법은 무엇입니까?

Java에서 HTTP URL을 올바르게 인코딩하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-18 19:18:12861검색

How to Properly Encode HTTP URLs in Java?

Java에서 HTTP URL 주소 인코딩

Java에서 java.net.URLEncoder 유틸리티는 일반적으로 HTML 양식 데이터를 인코딩하는 데 사용됩니다. 그러나 특정 문자 처리의 한계로 인해 HTTP URL 인코딩에는 적합하지 않을 수 있습니다.

HTTP URL을 올바르게 인코딩하는 한 가지 방법은 java.net.URI 클래스를 활용하는 것입니다. URL 문서에 따르면 "URI는 특정 상황에서 구성 요소 필드의 이스케이프를 수행합니다."

URI를 사용하여 HTTP URL을 인코딩하려면 다음과 같이 여러 인수가 있는 URI 객체를 생성하세요.

URI uri = new URI(
    "http", 
    "search.barnesandnoble.com", 
    "/booksearch/first book.pdf",
    null);

결과 URI에는 잘못된 문자가 이스케이프되어 예상되는 동작이 제공됩니다.

http://search.barnesandnoble.com/booksearch/first%20book.pdf

URI는 불법 문자만 이스케이프한다는 점에 유의하세요. ASCII가 아닌 문자의 경우 toASCIIString 메서드를 사용하여 URI를 US-ASCII 문자만 포함하는 문자열로 변환할 수 있습니다.

String request = uri.toASCIIString();

쿼리가 있는 URL의 경우 URI의 5개 매개변수 생성자를 사용하여 지정합니다. URL 경로와 쿼리 문자열 모두:

URI uri = new URI(
        "http", 
        "www.google.com", 
        "/ig/api",
        "weather=São Paulo",
        null);

이 접근 방식은 HTTP URL 인코딩을 위한 보다 강력하고 포괄적인 솔루션을 제공합니다. 자바.

위 내용은 Java에서 HTTP URL을 올바르게 인코딩하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.