java - 具有 '/' 的路径参数的 URL 编码问题

标签 java urlencode

我在对 URL 进行编码时遇到问题。我的网址可能包含一个路径参数,其中可以包含斜杠“/”。我需要将此路径参数发送到外部 API。这始终是加密+编码的。但我在编码“/”时遇到问题。除了“/”之外,其他所有内容都是编码。

示例:

https://url.com/bdvchewcbwj%2Fhbsdwhjkbq%3D

在上面的示例中,未编码的路径参数是:

bdvchewcbwj/hbsdwhjkbq=

当我对上述路径参数进行编码时,我期望 url 为:

https://url.com/bdvchewcbwj%2Fhbsdwhjkbq%3D

但结果是:

bdvchewcbwj/hbsdwhjkb%3D

输入:

https://url.com/bdvchewcbwj/hbsdwhjkbq%3D

预期输出:

https://url.com/bdvchewcbwj%2Fhbsdwhjkbq%3D

我正在使用 okHttp 客户端来创建请求。是否有任何库只对未编码的字符进行编码,留下已编码的字符?

最佳答案

如何对参数进行编码?对我来说

URLEncoder.encode("bdvchewcbwj/hbsdwhjkbq=","UTF-8");

按预期工作,结果为

bdvchewcbwj%2Fhbsdwhjkbq%3D

关于java - 具有 '/' 的路径参数的 URL 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53091480/

相关文章:

java - 从 Objective C 到 java 的 SQLite 查询

ios - Swift - 编码 URL

c# - 如何使用 HttpWebRequest 转义 POST 中的 URL 编码数据

php - 在 URL 字符串中加密/编码 ID

linux - 在 bash 脚本中编码字符串的 URL

java - Maven - 为什么我不能覆盖 dependencyManagement 导入的 pom 的版本?

java - 比较两个不同数组列表的单个元素?

seo - 谷歌无法索引路径

java - 递归计算前 k 个序列的和 1 + (1/2)-(1/3)+(1/4)......(1/k)

java - 选择在运行时 spring 注入(inject)哪个实现