`URLEncoder.encode` 的正确编码
The right encoding for `URLEncoder.encode`
我正在尝试标准化我 URL 中的消息,并且我正在使用 URLEncoder.encode
。我遇到的问题是,输出似乎不是有效的 URL。例如
val text = Some("test question (a) x (b) y").get
val query = "http://localhost:8080/ask?text=" + text
println(query)
val queryEnc = URLEncoder.encode(query, "UTF-8")
println(queryEnc)
输出:
http://localhost:8080/ask?text=test question (a) x (b) y
http%3A%2F%2Flocalhost%3A8080%2Fask%3Ftext%3Dtest+question+%28a%29+x+%28b%29+y
输出是否有效URL? (它看起来无效,因为 Chrome 和我机器上的 Safari 无法识别它)。
您必须对每个参数值进行编码。不是整个URL.
val query = "http://localhost:8080/ask?text=" + URLEncoder.encode(text, "UTF-8")
我正在尝试标准化我 URL 中的消息,并且我正在使用 URLEncoder.encode
。我遇到的问题是,输出似乎不是有效的 URL。例如
val text = Some("test question (a) x (b) y").get
val query = "http://localhost:8080/ask?text=" + text
println(query)
val queryEnc = URLEncoder.encode(query, "UTF-8")
println(queryEnc)
输出:
http://localhost:8080/ask?text=test question (a) x (b) y
http%3A%2F%2Flocalhost%3A8080%2Fask%3Ftext%3Dtest+question+%28a%29+x+%28b%29+y
输出是否有效URL? (它看起来无效,因为 Chrome 和我机器上的 Safari 无法识别它)。
您必须对每个参数值进行编码。不是整个URL.
val query = "http://localhost:8080/ask?text=" + URLEncoder.encode(text, "UTF-8")