Насколько я понимаю, URL-адрес состоит из следующих полей:
as
protocol://user:password@host:port/path/document?arg1=val1&arg2=val2#part
Мне нужен код для получения значения (или нулевого / пустого значения, если не задано) любого из этих полей из любой заданной строки URL. Должен ли я реализовать это сам, или для этого уже есть код, поэтому мне не нужно изобретать колесо?
Меня особенно интересует код Scala или Java. Также может быть полезен код на C #, PHP, Python или Perl.