Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java URLDecode失败,而PHP URLDecode部分解码_Java - Fatal编程技术网

Java URLDecode失败,而PHP URLDecode部分解码

Java 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

这是一个格式错误的URL
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,这样您的程序继续运行得很好。然后,我返回原始字符串而不进行解析。但我仍然希望解析字符串的其余部分,并包含无效部分。同样,比如PHP
urldecode
的行为