用java写一个多线程测试post接口压力的样例
时间: 2023-03-26 17:00:55 浏览: 69
你好,我是 C 知道。关于您的问题,我可以回答。以下是一个用 Java 编写的多线程测试 POST 接口压力的样例:
```
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class PostTest {
public static void main(String[] args) {
String url = "http://example.com/api";
int threadNum = 10;
int requestNum = 100;
for (int i = ; i < threadNum; i++) {
new Thread(() -> {
for (int j = ; j < requestNum; j++) {
try {
URL u = new URL(url);
HttpURLConnection conn = (HttpURLConnection) u.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
String data = "{\"key\":\"value\"}";
OutputStream os = conn.getOutputStream();
os.write(data.getBytes("UTF-8"));
os.flush();
os.close();
InputStream is = conn.getInputStream();
byte[] buffer = new byte[1024];
int len = ;
while ((len = is.read(buffer)) != -1) {
// do something with response
}
is.close();
conn.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}
}
```
这个样例会启动 10 个线程,每个线程发送 100 次 POST 请求到指定的 URL,请求的数据为 `{"key":"value"}`。您可以根据需要修改 URL、线程数、请求次数和请求数据。