我的代码中的URL编码为Java代码[重复]

问题描述 投票:-2回答:1
我正在使用此代码对带有查询参数的url进行编码,但效果不佳

public static String requestUrl(String url, Map<String, String> query) { String keyvalue; if (query != null) { String[] a = new String[query.size()]; int i = 0; for (Map.Entry<String, String> entry : query.entrySet()) { a[i] = entry.getKey() + "=" + entry.getValue(); i++; } keyvalue = combine(a, "&"); } else keyvalue = null; return url + "?" + keyvalue; }

在某些情况下无法获得编码的URL
java url
1个回答
0
投票
您只需要在代码中添加一个条件

public static String requestUrl(String url, Map<String, String> query) { String keyvalue; if (query != null) { String[] sb = new String[query.size()]; int i = 0; for (Map.Entry<String, String> entry : query.entrySet()) { sb[i] = entry.getKey() + "=" + entry.getValue(); i++; } keyvalue = combine(a, "&"); } else keyvalue null; String keyvalue = createkeyvalue(query); if (url.contains("?")) return url + "&" + keyvalue; return url + "?" + keyvalue; }

它将解决您的问题
© www.soinside.com 2019 - 2024. All rights reserved.