package com.ruoyi.im.util;
|
|
import java.io.*;
|
import java.net.HttpURLConnection;
|
import java.net.URL;
|
import java.net.URLEncoder;
|
import java.util.Map;
|
|
/**
|
* HTTP请求工具类
|
*/
|
public class HttpUtil {
|
|
/**
|
* 发送POST请求(表单格式)
|
*/
|
public static String postForm(String urlStr, Map<String, Object> params) throws IOException {
|
// 构建参数字符串
|
StringBuilder postData = new StringBuilder();
|
for (Map.Entry<String, Object> param : params.entrySet()) {
|
if (postData.length() != 0) postData.append('&');
|
postData.append(URLEncoder.encode(param.getKey(), "UTF-8"));
|
postData.append('=');
|
postData.append(URLEncoder.encode(String.valueOf(param.getValue()), "UTF-8"));
|
}
|
|
byte[] postDataBytes = postData.toString().getBytes("UTF-8");
|
|
URL url = new URL(urlStr);
|
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
conn.setRequestMethod("POST");
|
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
|
conn.setRequestProperty("Content-Length", String.valueOf(postDataBytes.length));
|
conn.setDoOutput(true);
|
conn.getOutputStream().write(postDataBytes);
|
|
// 读取响应
|
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
|
StringBuilder response = new StringBuilder();
|
String line;
|
while ((line = reader.readLine()) != null) {
|
response.append(line);
|
}
|
reader.close();
|
|
return response.toString();
|
}
|
}
|