2011-07-13 11 views
5

क्या PHP के parse_url (http://php.net/manual/en/function.parse-url.php) या पायथन के urlparse (http://docs.python.org/library/urlparse.html) के बराबर एक groovy/grails है जो एक यूआरएल स्ट्रिंग को मेजबान, प्रोटोकॉल, क्वेरीस्ट्रिंग, खंड, यूआरआई, आदि युक्त संरचना में बदल देता है?Parse_url grails/groovy के बराबर?

मैंने सोचा कि यह grails.org/doc/latest/api/org/codehaus/groovy/grails/web/util/WebUtils.html में हो सकता है, लेकिन कुछ भी नहीं देखा। मुझे नहीं लगता कि HTTPBuilder या मिश्रित URLMapping उपयोगिताओं की मुझे आवश्यकता है।

मैं वास्तव में सिर्फ पथ और क्वेरी स्ट्रिंग के बाहर एक नक्शा खींच और धार मामलों (रीडायरेक्ट के लिए पैरामीटर /blah/fuzz?foo=bar&foo=baz, टुकड़े /blah/fuzz?foo=bar#baz, इनकोडिंग यूआरएल की सरणी) संभाल सही ढंग से करना चाहते हैं।

मैं जानता हूँ कि मैं URLMapping जैसे के चतुर उपयोग के माध्यम से पथ घटक संभाल कर सकते हैं: /blah/$code, लेकिन im परम ब्लॉक डिकोडिंग के साथ छोड़ दिया ...

धन्यवाद

उत्तर

7

अगर मैं सही ढंग से समझ, क्या तुम सच में की जरूरत है सादे पुराने URI वर्ग है:

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

विस्तार @Artur नोवाक जवाब है, हो सकता है आप आप क्या चाहते हैं पाने के लिए कुछ और अधिक प्रयास की आवश्यकता होगी। यहां एक उदाहरण दिया गया है:

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