HttpClient ThreadSafeClientConnManager zgłasza „Reset połączenia”
Definiuję HttpClient na 2 różne sposoby: 1. Zwykła wanilia: klient = nowy DefaultHttpClient (); 2. Bezpieczny wątek:
DefaultHttpClient getThreadSafeHttpClient() {
HttpParams params = new BasicHttpParams();
params
.setParameter(
"http.useragent",
"Mozilla/5.0 (Linux; U; Android 1.1; en-us;dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2");
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, "UTF-8");
final SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
registry.register(new Scheme("https", PlainSocketFactory.getSocketFactory(), 443));
final ThreadSafeClientConnManager manager = new ThreadSafeClientConnManager(params,
registry);
return new DefaultHttpClient(manager, params);
}
Następnie wykonuję ten sam test JUnit dla obu typów klientów (proste żądanie GET). # 1 zawsze działa dobrze, # 2 zawsze kończy się niepowodzeniem z „java.net.SocketException: resetowanie połączenia”. Wyjście debugowania / śledzenia może byćwidziane tutaj (fikcyjna strona)
Nigdy nie mam szansy na zrobienie czegokolwiek z obiektem encji, ponieważ błąd jest wywoływany na wywołaniu client # execute. Co tu źle robię?