在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);
這種方法為用Java 編碼HTTP URL提供了更強大、更全面的解決方案。
以上是如何在 Java 中正確編碼 HTTP URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!