首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >IDEA报错java.net.SocketTimeoutException:Read timed out

IDEA报错java.net.SocketTimeoutException:Read timed out

原创
作者头像
小马哥学JAVA
发布2022-11-21 12:20:06
发布2022-11-21 12:20:06
1.4K0
举报
文章被收录于专栏:JAVA开发专栏JAVA开发专栏

最新在写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();

添加上这句话只会就可以了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档