Чтобы получить строку с параметрами, нужно использовать java.net.URI (java.net.URL не подойдёт, т.к. не указан протокол и т.д.).
Код | String str = "/login/?login=admin&pass=pass&do=Login"; URI url = new URI(str); System.out.println(url.getQuery());
|
а дальше можно использовать метод
Код | public static Map<String, String> getQueryMap(String query) { String[] params = query.split("&"); Map<String, String> map = new HashMap<String, String>(); for (String param : params) { String name = param.split("=")[0]; String value = param.split("=")[1]; map.put(name, value); } return map; }
|
Пример использования
Код | String query = url.getQuery(); Map<String, String> map = getQueryMap(query); Set<String> keys = map.keySet(); for (String key : keys) { System.out.println("Name=" + key); System.out.println("Value=" + map.get(key)); }
|
метод взят http://www.coderanch.com/t/383310/java/java/parse-url-query-string-parameter |