Я пытаюсь написать простое клиентское приложение Http в Java и немного запутано, по-видимому, разными способами установления соединений HTTP-клиента и эффективного повторного использования объектов.Постоянное соединение HTTP-клиента в java
Current Я использую следующие шаги (я опустил обработку для простоты исключения)
Iterator<URI> uriIterator = someURIs();
HttpClient client = new DefaultHttpClient();
while (uriIterator.hasNext()) {
URI uri = uriIterator.next();
HttpGet request = new HttpGet(uri);
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
processStream (content);
content.close();
}
В отношении приведенной выше коды, мои вопросы это:
Предполагая, что все URI являются указывая на тот же хост (но разные ресурсы на этом хосте). Каков рекомендуемый способ использования одного HTTP-соединения для всех запросов?
И как вы закрываете соединение после последнего запроса?
--edit: Я смущен, почему эти шаги не использовать HttpURLConnection, я предполагаю, client.execute()
создает один, но так как я никогда не видел его, я не знаю, как закрыть его или использовать его.
Я нашел полезное всестороннее руководство для класса HttpClient http://hc.apache.org/httpcomponents-client-4.0.1/tutorial/pdf/httpclient-tutorial.pdf – Akusete