用Java代码发送httppost请求
时间: 2023-11-12 13:07:13 浏览: 31
下面是一个简单的Java代码示例,用于发送HTTP POST请求:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpPostExample {
public static void main(String[] args) {
try {
URL url = new URL("http://example.com/api"); // 要发送请求的URL
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST"); // 设置请求方法为POST
conn.setRequestProperty("Content-Type", "application/json"); // 设置请求头Content-Type为application/json
conn.setDoOutput(true);
// 向请求体中写入数据
String jsonInputString = "{\"username\":\"admin\",\"password\":\"password123\"}";
try (OutputStream os = conn.getOutputStream()) {
byte[] input = jsonInputString.getBytes("utf-8");
os.write(input, 0, input.length);
}
// 读取响应数据
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
StringBuilder response = new StringBuilder();
String responseLine = null;
while ((responseLine = br.readLine()) != null) {
response.append(responseLine.trim());
}
System.out.println(response.toString());
// 断开连接
conn.disconnect();
} catch (Exception e) {
System.err.println("Exception: " + e.getMessage());
}
}
}
```
其中,jsonInputString是要发送的JSON数据。可以根据实际情况修改请求头和请求体的内容。