【问题标题】:encode special character in URL在 URL 中编码特殊字符
【发布时间】:2018-04-28 09:51:09
【问题描述】:
{URL}/text=Congratulations%21+You+are+eligible+for+.%0A

%0A = 换行编码字符

我在参数中传递编码的新行语法。但问题是,当我构建上述 URL 时,它再次编码 % as %25 所以上面的网址变成{URL}/text=Congratulations%21+You+are+eligible+for+.%250A

我无法理解为什么 URLBuilder 对已经编码的字符进行编码。

用于构建 URLBuilder 的代码

URI url = new URIBuilder("URL").build();

【问题讨论】:

  • 我不知道,但是您可以使用 Java 8 的 Base64 类(Base64.getUrlEncoder() 等)以永远不会在通过系统。这很浪费,因为它将长度加倍,但它是一种万能的解决方案。

标签: java urlencode uribuilder


【解决方案1】:

如果您不需要 url 编码,为什么还要使用 URIBuilder?您可以简单地创建一个新的 URI。

【讨论】:

    【解决方案2】:

    如果你想输入预编码的字符串,你需要#buildFromEncoded

    【讨论】:

      猜你喜欢
      • 2014-09-17
      • 1970-01-01
      • 2014-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多