Персистентный HttpURLConnection в Java

Я пытаюсь записать программу Java, которая автоматически загрузит и назовет некоторые мои любимые веб-комиксы. Так как я буду запрашивать несколько объектов от того же домена, я хотел иметь персистентное http соединение, что я мог сохранить открытым, пока все комиксы не были загружены. Ниже мое происходящее работой. Как я выполняю другой запрос от того же доменного, но другого пути, не открывая новое http соединение?

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class ComicDownloader
{
    public static void main(String[] args)
    {
        URL url = null;
        HttpURLConnection httpc = null;
        BufferedReader input = null;

        try
        {
            url = new URL("http://www.cad-comic.com/cad/archive/2002");
            httpc = (HttpURLConnection) url.openConnection();
            input = new BufferedReader(new InputStreamReader(httpc.getInputStream()));
            String inputLine;

            while ((inputLine = input.readLine()) != null)
            {
                System.out.println(inputLine);
            }

            input.close();
            httpc.disconnect();
        }
        catch (IOException ex)
        {
            System.out.println(ex);
        }
    }
}
19
задан Githaron 21 July 2010 в 21:28
поделиться

1 ответ

Согласно документации здесь , сохраняемость HTTP прозрачно обрабатывается в Java, хотя и дает вам возможность управлять им через http.keepAlive и http.maxConnections системные свойства.

Однако

Текущая реализация не буфер тела ответа. Что значит что приложение должно закончить чтение тела ответа или звонка close (), чтобы отказаться от остальной части тело ответа, для этого соединение для повторного использования. Более того, текущая реализация не буду пробовать чтение блока при очистке связь, то есть если все тело ответа недоступно, соединение не будет использоваться повторно.

Взгляните на ссылку и посмотрите, действительно ли она вам поможет.

18
ответ дан 30 November 2019 в 04:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: