Parse_url相当于grails / groovy?

时间:2011-07-13 21:52:47

标签: parsing url grails groovy url-mapping

是否存在等效于PHP的parse_url(http://php.net/manual/en/function.parse-url.php)或python的urlparse(http://docs.python.org/library/urlparse.html)的groovy / grails,它将URL字符串转换为包含主机,协议,查询字符串,片段,URI等的结构?

我认为它可能在grails.org/doc/latest/api/org/codehaus/groovy/grails/web/util/WebUtils.html中,但没有看到任何内容。我不认为HTTPBuilder或各种URLMapping实用程序是我需要的。

我真的只想从路径和queryString中拉出一个地图并正确处理边缘情况(params /blah/fuzz?foo=bar&foo=baz数组,片段/blah/fuzz?foo=bar#baz,重定向的编码网址)。

我知道我可以通过巧妙地使用URLMapping来处理PATH组件,例如:/blah/$code,但我离开时解码了param块......

由于

2 个答案:

答案 0 :(得分:8)

如果我理解正确,你真正需要的是简单的URI类:

new URI('http://google.com/?q=URL').query

答案 1 :(得分:2)

扩展@Artur Nowak的答案,也许你需要更多努力来获得你想要的东西。这是一个例子:

URI dbUri = new URI('http://google.com/?q=URL')
def username = dbUri?.getUserInfo()?.split(":")?.getAt(0)
def password = dbUri?.getUserInfo()?.split(":")?.getAt(1)
def host = dbUri?.getHost()
def databaseInstance = dbUri?.getPath()
def url = "jdbc:mysql://" + host + databaseInstance