HttpURLConnection post参数中特殊字符
时间: 2023-10-12 14:08:07 浏览: 153
在使用 HttpURLConnection 发送 POST 请求时,如果参数中包含特殊字符(如中文、空格、+等),需要对其进行 URL 编码。
URL 编码是一种将特殊字符转换为 %xx 格式的编码方式,其中 xx 表示该字符在 ASCII 字符集中的十六进制表示。例如,空格的 ASCII 码是 32,对应的十六进制表示是 20,因此空格的 URL 编码为 %20。
在 Java 中,可以使用 URLEncoder 类对字符串进行 URL 编码,例如:
```
String param = "这是一个参数";
String encodedParam = URLEncoder.encode(param, "UTF-8");
```
在以上代码中,使用 UTF-8 编码对参数进行 URL 编码,得到的结果为 "%E8%BF%99%E6%98%AF%E4%B8%80%E4%B8%AA%E5%8F%82%E6%95%B0"。
注意,如果参数中包含多个键值对,需要使用 & 符号分隔,例如:
```
String param1 = "参数1";
String encodedParam1 = URLEncoder.encode(param1, "UTF-8");
String param2 = "参数2";
String encodedParam2 = URLEncoder.encode(param2, "UTF-8");
String postData = "key1=" + encodedParam1 + "&key2=" + encodedParam2;
```
在以上代码中,将两个参数编码后,使用 & 符号拼接成 POST 请求的参数字符串。
阅读全文