Java 发送 HTTP POST 请求示例 - 使用 HttpURLConnection
以下是一个简单的 Java 程序,用于发送 HTTP POST 请求:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class HttpPostRequest {
public static void main(String[] args) {
try {
// 创建连接
URL url = new URL('http://www.example.com/post');
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod('POST');
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
connection.setRequestProperty('Content-Type', 'application/x-www-form-urlencoded');
// 发送请求
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(), 'UTF-8');
String data = 'param1=' + URLEncoder.encode('value1', 'UTF-8') + '¶m2=' + URLEncoder.encode('value2', 'UTF-8');
writer.write(data);
writer.flush();
writer.close();
// 获取响应
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), 'UTF-8'));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
// 断开连接
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
该程序向 http://www.example.com/post 发送一个 HTTP POST 请求,请求参数为 param1=value1 和 param2=value2。程序使用 HttpURLConnection 类来创建和管理连接,并使用 OutputStreamWriter 来发送请求数据。获取响应数据时,程序使用 BufferedReader 类来读取响应流。最后,程序断开连接并关闭流。
原文地址: https://www.cveoy.top/t/topic/mAXS 著作权归作者所有。请勿转载和采集!