如果 URL 未编码,稍后会导致问题,所以我这样做
URI.encode(url)
Run Code Online (Sandbox Code Playgroud)
问题是,如果 url 已经被编码(无论出于何种原因),这会进一步对 url 进行编码,使其无法使用。
除了这样做之外URI.encode(URI.decode(url)),还有更好的方法来确保 url 仅编码一次吗?
没有真正的方法,您只需要跟踪字符串是否已经进行 URI 转义即可。如果您有一个字符串,但不知道它是否已经经过 URI 转义,则没有好的解决方案。
一般来说,您应该在代码中的单个点进行编码。在内存中,所有字符串通常不应进行 URI 转义。从 URI 解析组件后应立即取消转义。在构建 URI 时,仅在构建完整 URI 时对它们进行转义/编码。
当你有一个字符串并且不知道它是否已编码时,你就不走运了;您需要进行跟踪,最好是确保编码发生在明确的系统边界上。
| 归档时间: |
|
| 查看次数: |
9138 次 |
| 最近记录: |