最新在写java页面的时候,由于接口返回的时间较长,遇到了这个问题IDEA报错java.net.SocketTimeoutException:Read timed out
编辑
解决方案:发现post请求使用了
代码语言:javascript复制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();
添加上这句话只会就可以了。