Java URLDecode失败,而PHP URLDecode部分解码
这是一个格式错误的URLJava URLDecode失败,而PHP URLDecode部分解码,java,Java,这是一个格式错误的URLhttp%3A%2F%2Fexample.com%2 使用PHP var_dump(urldecode("http%3A%2F%2Fexample.com%2")); 我明白了 string(20) "http://example.com%2" java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern 但是,当使用Java时 URLDecoder.d
http%3A%2F%2Fexample.com%2
使用PHP
var_dump(urldecode("http%3A%2F%2Fexample.com%2"));
我明白了
string(20) "http://example.com%2"
java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern
但是,当使用Java时
URLDecoder.decode("http%3A%2F%2Fexample.com%2", StandardCharsets.UTF_8.toString());
我明白了
string(20) "http://example.com%2"
java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern
这是一个用于展示我的示例的简化URL。即使URL格式不正确,如何在Java中解析尽可能多的URL?基本上,返回PHP返回的内容。什么是自然URL?
我的意思是,最后有2%,http%3A%2F%2F example.com%2的自然含义是什么?
它是?
最后似乎有一个角色被剥光了。我不知道;这在我的客户端是一个错误,他们输入了一些无效数据。无论如何,我仍然希望能够尽可能多地解析它,因此返回
PHP
实现返回的内容。如果在用户端出现错误,我认为最好放一个try{}catch(){}。您可以捕获这个异常java.lang.IllegalArgumentException,这样您的程序继续运行得很好。然后,我返回原始字符串而不进行解析。但我仍然希望解析字符串的其余部分,并包含无效部分。同样,比如PHPurldecode
的行为