package ****.service;
import com.alibaba.fastjson.JSONObject;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
/**
* @author XXX
* @date 2021/9/16 18:58
* @package ****.service
* @description JAVA发起HTTP请求DEMO
*/
public class Test {
public static void main(String[] args) throws Exception {
/* connection对象 */
HttpURLConnection connection = null;
try {
/* 请求URL */
URL url = new URL("http://*****");
/* 获取connection对象 */
connection = (HttpURLConnection) url.openConnection();
/* POST请求必须开启输入输出流 */
connection.setDoInput(true);
connection.setDoOutput(true);
/* 请求方式 */
connection.setRequestMethod("POST");
/* 是否使用缓存 */
connection.setUseCaches(false);
/* 设置请求头 */
connection.setRequestProperty("Content-Type", "application/json");
/* 创建链接:此时并不会传输数据,可以不调用该防范 */
connection.connect();
/* 获取输出流 */
OutputStream os = connection.getOutputStream();
/* body参数 */
JSONObject params = new JSONObject();
params.put("fromId", "id1");
params.put("toId", "id2");
params.put("content", "随笔");
/* JSON转为字符串 */
String body = params.toString();
/* 将参数输出到连接 */
os.write(body.getBytes(StandardCharsets.UTF_8));
/* 刷新输出流 */
os.flush();
/* 关闭输出流 */
os.close();
/* 获取输入流 */
BufferedReader bf = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8));
/* 读取流临时变量 */
String line;
/* 用来存储响应数据 */
StringBuilder sb = new StringBuilder();
/* 循环读取流 */
while ((line = bf.readLine()) != null) {
sb.append(line);
}
/* 关闭流 */
bf.close();
} catch (Exception e) {
throw e;
} finally {
/* 关闭连接 */
if (connection != null) {
connection.disconnect();
}
}
}
}
JAVA发起HTTP请求DEMO
最新推荐文章于 2024-08-04 03:47:38 发布