Java 中 Python urllib.urlencode 的等效实现(基于 HashMap 的 UrlEncode)

4 投票
1 回答
6924 浏览
提问于 2025-04-15 18:10

来源

在Java中,和Python的urllib.urlencode相对应的是什么?
就像这样:

>>> urllib.urlencode({'abc':'d f', 'def': '-!2'})
'abc=d+f&def=-%212'

我想传一个包含键值对的HashMap,然后它会帮我编码并返回一个网址字符串……

编辑:我想避免这种情况:

String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8");
    data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");

手动把字符串用

=

&

连接起来。

1 个回答

3

java.net.URLEncoder 这个工具应该能帮到你。不过,你需要对它进行一些扩展,让它能接受一个叫做 hashmap 的东西,但这并不是很难。

撰写回答