这是我正在测试的场景。步骤如下
- 创建HttpClient(org.apache.commons.httpclient.HttpClient)3.1的实例
- 使用实例从 url ( http://www.example.com/submitData )获取响应
- 关闭托管第 2 步中提到的 url 的服务器。
- 调出网址
- 等到url出来
- 使用步骤 1 中创建的 HttpClient 实例从 url ( http://www.example.com/getData )获取响应
我收到一个错误 - 连接重置。谁能帮我理解。
我在 HttpClient 中使用了以下参数
httpClient.getParams().setParameter("http.socket.timeout", new Integer(0));
httpClient.getParams().setParameter("http.connection.stalecheck", new Boolean(true));
在彼得的评论后编辑这就是我创建 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 执行测试。如果我在调试模式下运行测试用例,我不会得到这个异常。