java发送post请求
时间: 2023-09-24 11:14:27 浏览: 92
Java发送post,get请求
以下是使用Java发送POST请求的示例代码:
```
import java.net.*;
import java.io.*;
public class PostRequestExample {
public static void main(String[] args) throws Exception {
URL url = new URL("http://example.com/api");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/json");
String requestBody = "{\"name\": \"John\", \"age\": 30}";
OutputStream os = conn.getOutputStream();
os.write(requestBody.getBytes());
os.flush();
int responseCode = conn.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println("Response code: " + responseCode);
System.out.println("Response body: " + response.toString());
}
}
```
在上面的示例中,我们首先创建一个URL对象,然后使用它打开一个连接。我们将请求方法设置为POST,并设置doOutput属性为true以允许向连接写入数据。
我们还设置了Content-Type请求头,指定请求体的格式为JSON。
接下来,我们构造请求体并将其写入连接的输出流中。
然后,我们获取响应码和响应主体,并将其打印到控制台中。
需要注意的是,我们在使用连接的输出流写入请求体时,必须使用getBytes()方法将请求体转换为字节数组,否则会出现编码问题。
阅读全文