gpt4 book ai didi

java - 在 Java 中编码 URL 查询参数

转载 作者:IT老高 更新时间:2023-10-28 11:30:59 25 4
gpt4 key购买 nike

如何编码查询参数以在 Java 中访问 url?我知道,这似乎是一个显而易见的问题。

我不确定有两个微妙之处:

  1. 应该将 url 上的空格编码为“+”还是“%20”?在 chrome 中,如果我输入“http://google.com/foo=?bar me”,chrome 会将其更改为使用 %20 进行编码
  2. 将冒号“:”编码为 %3B 是否必要/正确? Chrome 没有。

注意事项:

  • java.net.URLEncoder.encode 似乎不起作用,它似乎是用于编码数据以提交表单。例如,它将空格编码为 + 而不是 %20,并将冒号编码为不必要的。
  • java.net.URI 不对查询参数进行编码

最佳答案

java.net.URLEncoder.encode(String s, String encoding)也可以提供帮助。它遵循 HTML 表单编码 application/x-www-form-urlencoded

URLEncoder.encode(query, "UTF-8");

另一方面,Percent-encoding (也称为 URL encoding )使用 %20 对空间进行编码。冒号是保留字符,所以 : 在编码后仍然是冒号。

关于java - 在 Java 中编码 URL 查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5330104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com