当前位置: 代码迷 >> java >> 如何在InputStreamReader上设置超时?
  详细解决方案

如何在InputStreamReader上设置超时?

热度:84   发布时间:2023-07-17 20:23:39.0

所以我目前正在用Java执行HTTP请求:

HttpURLConnection connection = (HttpURLConnection) apiURL.openConnection();

connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");
writer.write(payload);
writer.close();

JSONObject json = (JSONObject) new JSONParser().parse(new InputStreamReader(connection.getInputStream()));
connection.disconnect();

我已经看到很多关于套接字的提法,但是我不确定它在这里如何应用。 我将如何对此HTTP请求设置超时,使其说1秒?

您可以在HTTP连接上设置超时,例如:

 connection.setConnectTimeout(5000); // 5 seconds connectTimeout
 connection.setReadTimeout(5000 ); // 5 seconds socketTimeout