关于HttpClient 出现 The target server failed to respond异常的解决办法.
问题描述:使用 HttpClient访问web服务器提供的 接口 如:192.168.1.1/hello 偶尔出现 The target server failed to respond 问题.
通过百度得知,这个错误大致是说server给的不是正确的http response.这个错误是可能是由于:使用同一个HttpClient长连接/保持连接, 然后又使用这个httpClient进行其他网络请求。
通过该提示,想到了两种解决办法,
1.每次要使用一次连接都 通过 工厂 new 一个新的HttpClient 。
2.通过 HttpClient 得到 ClientConnectionManager 类,(getHttpClient().getConnectionManager())使用closeExpiredConnections();方法关闭过期连接.
两种方法皆成功。
第一种比较消耗内存!