最新在写java页面的时候,由于接口返回的时间较长,遇到了这个问题IDEA报错java.net.SocketTimeoutException:Read timed out
编辑
解决方案:发现post请求使用了
String resStr = ""; //创建OkHttpClient对象。 OkHttpClient client = new OkHttpClient().newBuilder().connectTimeout(30000, TimeUnit.MILLISECONDS) .readTimeout(30000, TimeUnit.MILLISECONDS) .build(); //数据类型为json格式, MediaType JSON = MediaType.parse("application/json; charset=utf-8"); RequestBody body = RequestBody.create(JSON, json); Request request = new Request.Builder() .url(url) .post(body) .build(); Call call = client.newCall(request); try { call.timeout().timeout(30000,TimeUnit.MILLISECONDS); Response response = call.execute(); resStr = response.body().string(); } catch (IOException e) { e.printStackTrace(); } return resStr;
最重要的是在创建对象的时候,没有设置链接超时的时间,OkHttpClient client = new OkHttpClient().newBuilder().connectTimeout(30000, TimeUnit.MILLISECONDS) .readTimeout(30000, TimeUnit.MILLISECONDS) .build();
添加上这句话只会就可以了。