0

お気に入りの Web コミックを自動的にダウンロードして名前を付ける 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);
        }
    }
}
4

4 に答える 4

4

キープアライブが HTTP サーバーでサポートされている限り、HttpURLConnection の実装は基礎となる TCP 接続をキャッシュし、それを透過的に行います。

于 2012-05-11T11:36:58.860 に答える
1

HTTP キープアライブのサポートは透過的に行われます。ただし、システム プロパティhttp.keepAlive、 http.maxConnections 、およびHTTP /1.1 で指定された要求および応答ヘッダーによって制御できます。

Keep-Alive の動作を制御するシステム プロパティは次のとおりです。

http.keepAlive=(ブール値) デフォルト: true

キープアライブ (永続的) 接続をサポートする必要があるかどうかを示します。

http.maxConnections=(int) デフォルト: 5

任意の時点で維持される宛先ごとの接続の最大数を示します

出典:永続的な接続

于 2014-08-08T11:47:07.867 に答える
0

HTTP 接続はステートレスであるため、リクエストする新しい画像はそれぞれ新しい URL になり、したがって新しい接続になります。

于 2012-05-11T11:26:57.290 に答える