从URL获取查询详细信息,而无需在Java中对其进行分析



我正试图从URL接收名称和值(查询详细信息(,但我有一个限制,即不应通过解析URL来从URL中查找查询详细信息。我试图找到"?"的索引然后在列表中添加子字符串,直到我使用语句找到的查询的索引为'='-1

String query = uri.getQuery() == null || uri.getQuery().trim().isEmpty() ? "" : uri.getQuery();

这里的问题是,我收到了一个错误,其中写道:

java.net.URISyntaxException:索引处的查询中存在非法字符

有人能指出我哪里错了吗?

我使用的URL是:

https://xyzz.com.in/collections/two-tone-wedding-rings?ugg_9ty554_tags=ROSE|WHITE&ugg_yuiolz_price=%3A700%201000%20%7B0%7D%20-%20%7B1%7D

(符号造成问题(

我认为您使用了错误的类我试着用URL类代替

String input = "https://xyzz.com.in/collections/two-tone-wedding-rings?ugg_9ty554_tags=ROSE|WHITE&ugg_yuiolz_price=%3A700%201000%20%7B0%7D%20-%20%7B1%7Dn"
URL uri = new URL(input);
System.out.println(uri.getQuery());

输出:

ugg_9ty554_tags=ROSE|WHITE&ugg_yuiolz_price=%3A700%201000%20%7B0%7D%20-%20%7B1%7D

最新更新