这是我正在测试的方案。步骤如下
我收到错误-连接重置。谁能帮我理解。
我在HttpClient中使用了以下参数
httpClient.getParams().setParameter("http.socket.timeout", new Integer(0));
httpClient.getParams().setParameter("http.connection.stalecheck", new Boolean(true));
根据Peter的评论编辑这就是我创建HttpClient的方式
HttpClient httpClient = new HttpClient();
AuthScope authScope = new AuthScope("www.example.com", 80, AuthScope.ANY_REALM);
Credentials defaultcreds = new UsernamePasswordCredentials("username", "pwd");
httpClient.getState().setCredentials(authScope, defaultcreds);
httpClient.getParams().setParameter("http.socket.timeout", new Integer(0));
httpClient.getParams().setParameter("http.connection.stalecheck", new Boolean(true));
建立连接,我使用以下内容
GetMethod getMethod = new GetMethod("http://"+httpClient.getHostConfiguration().getHost()+"/getData");
int statusCode = httpClient.executeMethod(getMethod);
我希望httpclient实例保留主机名,端口和凭据。
这是我得到的确切执行消息-“连接重置”。
更多信息-我正在从Eclipse执行测试。如果以调试模式运行测试用例,则不会出现此异常。
[AFAIK stale
参数允许客户端以干净的方式关闭连接(无异常),但不能防止断开连接。
httpClient.getParams()。setParameter(“ http.socket.timeout”,新的Integer(0));
将超时设置为0ms可能会过早终止请求?