它展示了如何发送一个包含JSON格式请求体的POST请求。这个示例使用了HttpURLConnection类来创建和管理HTTP连接,并设置了请求头和请求体。
时间: 2024-10-10 17:04:41 浏览: 25
当你需要通过编程向某个服务器发送数据,特别是当数据是以JSON格式存在时,可以使用HTTP POST方法。以下是一个简单的Java示例,使用`HttpURLConnection`库来实现:
```java
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.JSONObject;
public class JsonPostRequest {
public static void sendJsonPost(String url, JSONObject json) throws Exception {
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// 设置连接属性
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "application/json; utf-8");
con.setDoOutput(true); // 表示会发送数据
try(OutputStream os = con.getOutputStream()) {
byte[] outputBytes = json.toString().getBytes("utf-8");
os.write(outputBytes);
}
int responseCode = con.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
System.out.println("Success! Response Code: " + responseCode);
} else {
System.err.println("Error! Response Code: " + responseCode);
}
}
}
// 示例用法
JSONObject jsonObject = new JSONObject();
jsonObject.put("key", "value");
JsonPostRequest.sendJsonPost("http://example.com/api", jsonObject);
```
在这个例子中,首先创建了一个URL对象,然后通过`HttpURLConnection`打开一个到该URL的连接。设置`Content-Type`为JSON,然后将JSON字符串转换成字节数组并写入到`OutputStream`中,也就是POST请求体。最后,检查响应码来确认请求是否成功。
阅读全文