gpt4 book ai didi

java - 如何使用 URLEncodedUtils.parse 解析包含特殊符号的 url?

转载 作者:太空宇宙 更新时间:2023-11-04 13:09:22 29 4
gpt4 key购买 nike

我的代码是这样的:

String queryString = "";
String url = "http://localhost:8080/xyz.html?param1=paramx&param2=wt_jnknk|nkn|lk_nm&param3=abc";
try {
List<NameValuePair> params = URLEncodedUtils.parse(new URI(url), "UTF-8");
for (NameValuePair param : params) {
if(!param.getName().toLowerCase().equals("param3")){
queryString = queryString + "&" + param.getName() + "=" + param.getValue();
}
}
} catch (URISyntaxException e) {
return "error";
}
return queryString;

此代码不返回查询字符串,而是返回错误,因为 param2 包含“|”。我该如何处理这个问题?我还可以在 url 中包含其他特殊字符。

谢谢。

最佳答案

首先使用URLEncoder获取有效的字符串。

queryString = URLEncoder.encode(url, "UTF-8");

这将导致

http%3A%2F%2Flocalhost%3A8080%2Fxyz.html%3Fparam1%3Dparamx%26param2%3Dwt_jnknk%7Cnkn%7Clk_nm%26param3%3Dabc

基本上,它将 | 更改为 %7。您应该能够解析

关于java - 如何使用 URLEncodedUtils.parse 解析包含特殊符号的 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34133617/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com