【问题标题】:Parse_url equivalent in grails / groovy?grails / groovy中的Parse_url等价物?
【发布时间】:2011-07-13 21:52:46
【问题描述】:

是否有与 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 中提取地图并正确处理边缘情况(参数数组/blah/fuzz?foo=bar&foo=baz、片段/blah/fuzz?foo=bar#baz、用于重定向的编码 URL)。

我知道我可以通过巧妙地使用 URLMapping 来处理 PATH 组件,例如:/blah/$code,但我只需要解码参数块...

谢谢

【问题讨论】:

    标签: parsing url grails groovy url-mapping


    【解决方案1】:

    如果我理解正确,您真正需要的是普通的 URI 类:

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

    【讨论】:

      【解决方案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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-06
        • 1970-01-01
        • 2013-02-25
        • 1970-01-01
        • 1970-01-01
        • 2023-03-28
        • 1970-01-01
        相关资源
        最近更新 更多