Java库/类解析干净的URL并获取其不同组件

Java库/类解析干净的URL并获取其不同组件,java,parsing,uri,clean-urls,Java,Parsing,Uri,Clean Urls,我正在寻找一个java库/类来解析干净的URL,并获得所有属性,如查询、端口、主机、域、子域等。基本上是java.net.URI所做的大部分功能,但即使对于干净的URL也是如此。我猜,因为这是一个非常常见的需求,所以可能已经构建了一些库来处理这个问题。帮忙 java.net.URL类有方法getHost(),getPort(),getQuery(),getPath() 您还可以查看URI类,更倾向于使用它。java.net.URL类有方法getHost(),getPort(),getQuery(

我正在寻找一个java库/类来解析干净的URL,并获得所有属性,如查询、端口、主机、域、子域等。基本上是java.net.URI所做的大部分功能,但即使对于干净的URL也是如此。我猜,因为这是一个非常常见的需求,所以可能已经构建了一些库来处理这个问题。帮忙

java.net.URL
类有方法
getHost()
getPort()
getQuery()
getPath()


您还可以查看
URI
类,更倾向于使用它。

java.net.URL
类有方法
getHost()
getPort()
getQuery()
getPath()


您还可以查看
URI
类,更倾向于使用它。

标准的javaurl类没有解析请求参数的功能。Commons中有一个HTTP客户端,它提供了一个有用的方法来实现这一点。

标准Java Url类没有解析请求参数的功能。Commons中有一个HTTP客户端,它有一个很有用的方法来实现这一点。

我建议使用URI类,因为URL.equals()方法实际上需要一个实时连接,并且每次调用equals()方法时都进行DNS查找。因此,在非网络环境中进行测试可能是一场地狱。雪儿:好建议。我还观看了Josh Bloch在youtube上的演示,但没有将其添加到我的答案中,因为当URL/URI对象是地图中的集合元素或键时,这一点特别重要,imho不是这样。我目前使用的是java.net.URL,但对于干净的URL来说,这一点不太好。是否有专门针对干净URL库的东西?我建议您使用正则表达式进行进一步解析。您需要一个来获取子域列表,可能还需要一个来获取域名。不知道从url还能得到什么(当然,如果你不想实现一些复杂的逻辑的话)。我建议使用URI类,因为url.equals()方法实际上需要一个实时连接,并且每次调用equals()方法时都会进行DNS查找。因此,在非网络环境中进行测试可能是一场地狱。雪儿:好建议。我还观看了Josh Bloch在youtube上的演示,但没有将其添加到我的答案中,因为当URL/URI对象是地图中的集合元素或键时,这一点特别重要,imho不是这样。我目前使用的是java.net.URL,但对于干净的URL来说,这一点不太好。是否有专门针对干净URL库的东西?我建议您使用正则表达式进行进一步解析。您需要一个来获取子域列表,可能还需要一个来获取域名。不知道从url还能得到什么(当然,如果您不想实现一些复杂的逻辑的话)。