Java HttpsURLConnection 发送 POST 请求教程
使用 HttpsURLConnection 来发送 POST 请求可以按照以下步骤进行:
- 创建 URL 对象,指定要发送请求的 URL 地址。
- 调用 URL 对象的
openConnection()方法创建一个HttpsURLConnection对象。 - 设置请求方法为 POST,使用
setRequestMethod()方法。 - 设置请求头信息,例如设置
Content-Type和Content-Length等。 - 获取输出流,使用
getOutputStream()方法,将请求体数据写入输出流。 - 发送请求,使用
connect()方法。 - 获取输入流,使用
getInputStream()方法,读取服务端返回的数据。 - 关闭连接和输入流。
下面是一个示例代码:
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
public class HttpsURLConnectionExample {
public static void main(String[] args) throws IOException {
String url = 'https://example.com/api'; // 要发送请求的 URL 地址
String data = 'param1=value1¶m2=value2'; // 要发送的数据
URL urlObj = new URL(url);
HttpsURLConnection connection = (HttpsURLConnection) urlObj.openConnection();
// 设置请求方法为 POST
connection.setRequestMethod('POST');
// 设置请求头信息
connection.setRequestProperty('Content-Type', 'application/x-www-form-urlencoded');
connection.setRequestProperty('Content-Length', String.valueOf(data.length()));
// 获取输出流,将请求体数据写入输出流
connection.setDoOutput(true);
DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
outputStream.writeBytes(data);
outputStream.flush();
outputStream.close();
// 发送请求
connection.connect();
// 获取输入流,读取服务端返回的数据
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
// 输出服务端返回的数据
System.out.println(response.toString());
// 关闭连接
connection.disconnect();
}
}
在示例代码中,我们使用了 HttpsURLConnection 来发送 POST 请求。首先,创建一个 URL 对象,指定要发送请求的 URL 地址。然后,调用 URL 对象的 openConnection() 方法创建一个 HttpsURLConnection 对象。接下来,设置请求方法为 POST,使用 setRequestMethod() 方法。然后,设置请求头信息,例如设置 Content-Type 和 Content-Length 等。获取输出流,使用 getOutputStream() 方法,将请求体数据写入输出流。发送请求,使用 connect() 方法。获取输入流,使用 getInputStream() 方法,读取服务端返回的数据。最后,关闭连接和输入流。
原文地址: https://www.cveoy.top/t/topic/p8nt 著作权归作者所有。请勿转载和采集!