如何編碼查詢參數以在Java中使用url?我知道,這似乎是一個顯而易見的問題。使用Java編碼URL查詢參數
有兩個微妙之處我不知道的:
- 如果空間上的網址爲「+」或「%20」編碼?在Chrome瀏覽器中,如果我輸入「http://google.com/foo=?bar me」,Chrome會將其更改爲使用%編碼20
- 是否需要/正確地將冒號「:」編碼爲%3B? Chrome沒有。
注:
java.net.URLEncoder.encode
似乎不工作,它似乎是要提交表單數據編碼。例如,它將空間編碼爲+
而不是%20
,並對不需要的冒號進行編碼。java.net.URI
不編碼查詢參數
這個問題看起來有用:http://stackoverflow.com/questions/444112/how-do-i-編碼-URI - 對參數值 – 2011-03-16 19:14:43
查詢部分的結構依賴於服務器,儘管大多數人期望'application/x-www-form-urlencoded'鍵/值對。在這裏看到更多:http://illegalargumentexception.blogspot.com/2009/12/java-safe-character-handling-and-url.html – McDowell 2011-03-16 20:18:00