Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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中进行URL查询字符串操作的好库_Java_Url - Fatal编程技术网

一个在Java中进行URL查询字符串操作的好库

一个在Java中进行URL查询字符串操作的好库,java,url,Java,Url,我需要用Java做一些非常简单的URL操作。如获取查询中某个参数的值,或更新它。。。我本来希望在commons lang包中找到一个简单的实用程序类来实现这一点,但是没有。我知道这是一个简单的问题,但是如果已经编写了一些东西,为什么还要再次编写呢?你知道吗 我希望至少具备以下能力: String myUrl = "http://www.example.com/test.html?toto=1&titi=2"; // get the value of a parameter String

我需要用Java做一些非常简单的URL操作。如获取查询中某个参数的值,或更新它。。。我本来希望在commons lang包中找到一个简单的实用程序类来实现这一点,但是没有。我知道这是一个简单的问题,但是如果已经编写了一些东西,为什么还要再次编写呢?你知道吗

我希望至少具备以下能力:

String myUrl = "http://www.example.com/test.html?toto=1&titi=2";

// get the value of a parameter
String parameterValue = UrlUtils.getParameterValue(myUrl, "toto");
Assert.equals(parameterValue, "1");

// update a parameter
String newUrl = UrlUtils.updateParameter(myUrl, "toto", 3);
parameterValue = UrlUtils.getParameterValue(myUrl, "toto");
Assert.equals(parameterValue, "3");
理想情况下,它将处理所有与编码相关的问题,并处理java.net.Url以及字符串


谢谢你的帮助

我认为您需要的是一个查询字符串解析器,而不是url操纵器,这里有一个:

Apache的httpcomponents库有一个url解码器:


Httpcomponents是commons http客户端的继承者。

确实发布了一个高效的Java库,用于查询字符串和数字解析:


(免责声明:我确实是一名工程总监。)

不幸的是,lib似乎不允许空值。在某些应用程序中,这可能是两个不同的查询:
?foo
?foo=
。请检查此解决方案,因为我确实认为它可能是一个更主流的库,并且执行OP要求的操作:+1 for Toto。五年后这个问题才有意义。叹气。请在此处查看解决方案: