在 Java 中,我们可以使用 HttpURLConnection 类来发起网络请求。下面分别介绍如何使用 HttpURLConnection 类发送 POST 请求和 GET 请求。

  1. 发送 POST 请求

发送 POST 请求需要先将请求参数转换成字节数组,然后设置请求头,最后通过输出流写入请求参数。

import java.io.*;
import java.net.*;

public class PostRequestExample {
    public static void main(String[] args) {
        try {
            // 创建 URL 对象
            URL url = new URL('http://example.com/api');
            // 创建 HttpURLConnection 对象
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            // 设置请求方法为 POST
            conn.setRequestMethod('POST');
            // 设置请求头
            conn.setRequestProperty('Content-Type', 'application/json');
            conn.setRequestProperty('Accept', 'application/json');
            // 开启输出流
            conn.setDoOutput(true);
            // 构造请求参数
            String json = '{"username":"test","password":"123456"}';
            byte[] bytes = json.getBytes();
            // 写入请求参数
            OutputStream os = conn.getOutputStream();
            os.write(bytes);
            os.flush();
            os.close();
            // 获取响应结果
            int statusCode = conn.getResponseCode();
            String result = '';
            if (statusCode == 200) {
                InputStream is = conn.getInputStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                String line;
                while ((line = br.readLine()) != null) {
                    result += line;
                }
                br.close();
                is.close();
            }
            // 输出响应结果
            System.out.println(result);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  1. 发送 GET 请求

发送 GET 请求需要将请求参数拼接在 URL 后面,然后通过输入流读取响应结果。

import java.io.*;
import java.net.*;

public class GetRequestExample {
    public static void main(String[] args) {
        try {
            // 拼接 URL 和请求参数
            String urlStr = 'http://example.com/api?username=test&password=123456';
            URL url = new URL(urlStr);
            // 创建 HttpURLConnection 对象
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            // 设置请求方法为 GET
            conn.setRequestMethod('GET');
            // 获取响应结果
            int statusCode = conn.getResponseCode();
            String result = '';
            if (statusCode == 200) {
                InputStream is = conn.getInputStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                String line;
                while ((line = br.readLine()) != null) {
                    result += line;
                }
                br.close();
                is.close();
            }
            // 输出响应结果
            System.out.println(result);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Java 使用 HttpURLConnection 发起网络请求(GET 和 POST)

原文地址: https://www.cveoy.top/t/topic/mPEG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录