【问题标题】:Disable or delay timeout in Apache Httpclient request在 Apache Httpclient 请求中禁用或延迟超时
【发布时间】:2023-03-19 06:40:02
【问题描述】:

我有一个带有一些方法的 REST 网络服务。

我正在使用 Apache HttpClient 4 向其他人发送请求。

当我以更大更慢的方法连接到这个休息时,它会抛出一个NoHttpResponseException

谷歌搜索后,我发现服务器正在切断与我的客户端应用程序的连接。

所以,我尝试以这种方式禁用超时:

DefaultHttpClient httpclient = null;
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, 0);
HttpConnectionParams.setSoTimeout(params, 0);
HttpConnectionParams.setStaleCheckingEnabled(params, true);

httpclient = new DefaultHttpClient(params);
httpclient.execute(httpRequest, httpContext);

但是失败了。请求在 15 秒内终止(可能是默认超时?) 有谁知道最好的方法吗?

【问题讨论】:

    标签: java rest httpclient


    【解决方案1】:

    我建议您在超时发生之前将数据返回给客户端。这可能只是一些对客户端说“工作”的字节。通过将数据涓涓细流,您应该能够让客户端保持活动状态。

    【讨论】:

      猜你喜欢
      • 2021-06-22
      • 2019-03-31
      • 2020-10-17
      • 2019-12-15
      • 2019-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多