当前位置: 首页 > 知识库问答 >
问题:

客户计算机上的Apache httpclient超时(处理请求时捕获I/O异常:连接超时

柯唯
2023-03-14

我在尝试使用Apache HttpClient 3.0通过Java代码连接和查询Rally时遇到了超时问题

他们运行的是java JDK1.6。

protected String doGet(HttpClient httpClient, GetMethod getMethod)
throws IOException
 {
httpClient.getState().setCredentials(new AuthScope(this.host, this.port, null), new UsernamePasswordCredentials(this.username, this.password));
httpClient.getParams().setParameter("http.socket.timeout", new Integer(1000000));
getMethod.setDoAuthentication(true);
getMethod.getParams().setParameter("http.socket.timeout", new Integer(1000000));
getMethod.addRequestHeader("X-RallyIntegrationName", this.integrationName);
getMethod.addRequestHeader("X-RallyIntegrationVendor", this.integrationVendor);
getMethod.addRequestHeader("X-RallyIntegrationVersion", this.integrationVersion);
//getMethod.addRequestHeader("X-RallyIntegrationOS", getOSInfo());
//getMethod.addRequestHeader("X-RallyIntegrationPlatform", getProductInfo());
getMethod.addRequestHeader("X-RallyIntegrationLibrary", "Apache Commons HTTP Client 3.0");
try
{ 
  double timeBefore = System.currentTimeMillis() / 1000;
  int result = httpClient.executeMethod(getMethod);
  double timeAfter = System.currentTimeMillis() / 1000;
  System.out.println("Seconds to query for Workspace: " + (timeAfter - timeBefore));
  if (result != 200) {
    throw new IOException("Http GET Failed" + getMethod.getStatusLine());
  }
  String response = getMethod.getResponseBodyAsString();
  System.out.println(response);
  return response;
}
finally
{
  getMethod.releaseConnection();
}

}}

共有1个答案

谈炳
2023-03-14

您可以使用Rally REST工具包for Java吗:https://github.com/rallytools/rallyRestToolkitforJava

它可以处理上面编写的大量代码(并且是使用Apache Http组件的较新版本-4.2.x构建的)

 类似资料:
  • 我有以下设置: 我正在尝试处理服务器关闭,用户出现连接超时异常的情况,这是我的日志记录: 完整日志记录:http://pastebin.com/gscCGb7x 有没有办法将其转化为改造失败的方法,这样我就可以在那里处理它? 提前感谢!

  • 我已经创建了一个execute-apiendpoint,并将443端口添加到安全组中。我还禁用了私有DNS名称,但仍然得到一个“endpoint请求超时”/拨号tcp 52.28...:443:I/O超时错误。我还用postman测试了我想要访问的API,它按预期工作。我错过了什么。

  • 我正在尝试访问具有客户端证书的url,并使用以下内容生成密钥: 和密钥存储: 并尝试连接: }

  • 我的Java代码使用共享的ApacheHttpClient 4.4。1.我将每个POST请求级别上的连接超时、套接字超时和连接请求超时设置为100毫秒。它大部分时间都很好用。然而,在大量请求(压力测试)时,HttpClient忽略这些超时;请求可能需要20秒或更长时间。这是我的密码: 在某些情况下,我会得到如下日志记录: 2018-10-26 14:18:45496[my-thread-1]调试c

  • 代码片段如下所示: 如果有人有决议,请帮忙?

  • 我相对来说是android开发的新手。我正在开发一个android应用程序,向web服务器发送请求并解析JSON对象。在与服务器通信时,我经常收到< code > Java . net . socket time out exception:Connection timed out 异常。有时它会完美地工作,没有任何问题。我知道这个问题已经被问过很多次了。但仍然,我没有得到任何满意的解决这个问题的