gpt4 book ai didi

java - 用于修复格式错误的 URI 的 Scala 或 Java 库

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:31:00 25 4
gpt4 key购买 nike

有没有人知道一个好的 Scala 或 Java 库可以解决格式错误的 URI 中的常见问题,例如包含应该转义但没有转义的字符?

最佳答案

我测试了一些库,包括现在遗留的 URIUtil的 HTTPClient 没有感觉我找到了任何可行的解决方案。通常,我已经用这种类型的 java.net.URI 取得了足够的成功。虽然构造:

/**
* Tries to construct an url by breaking it up into its smallest elements
* and encode each component individually using the full URI constructor:
*
* foo://example.com:8042/over/there?name=ferret#nose
* \_/ \______________/\_________/ \_________/ \__/
* | | | | |
* scheme authority path query fragment
*/
public URI parseUrl(String s) throws Exception {
URL u = new URL(s);
return new URI(
u.getProtocol(),
u.getAuthority(),
u.getPath(),
u.getQuery(),
u.getRef());
}

可以与以下例程结合使用。它重复解码 URL 直到解码后的字符串不变,这对于防止例如双重编码很有用。请注意,为简单起见,此示例不具有任何故障保护等功能。

public String urlDecode(String url, String encoding) throws UnsupportedEncodingException, IllegalArgumentException {
String result = URLDecoder.decode(url, encoding);
return result.equals(url) ? result : urlDecode(result, encoding);
}

关于java - 用于修复格式错误的 URI 的 Scala 或 Java 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7628989/

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