我尝试获取redirectUri 的查询参数。所以我尝试了 URLEncodedUtils 帮助器。
List<NameValuePair> parse = URLEncodedUtils.parse(redirectedTo, Charset.defaultCharset());
它工作正常,但结果是。
https://my.redirect.de/foo?code=123&state=123
我有一份清单
[{name:https://my.redirect.de/foo?code, value: 123}, {name:state, value:123}]
这不是最理想的。我做错了什么?当我第一次必须从 URL 中分离参数时,辅助类并没有多大帮助。有什么建议欢迎欢迎
在文档中指出 返回使用给定字符编码从给定字符串解析的 NameValuePairs 列表。按照惯例,“&”和“;”被接受作为参数分隔符。
所以问号不是分隔符,因此 URL 部分没有区别。
我不知道你在什么上下文中使用它,但通常在 Java 中,有一些方法可以检索查询字符串,然后你可以将其传递给你的方法。
我会做什么:
URL url = new URL("https://my.redirect.de/foo?code=123&state=123");
String queryString = url.getQuery();
List<NameValuePair> parse = URLEncodedUtils.parse(queryString, Charset.defaultCharset());