首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java创建HTTP持久连接

java创建HTTP持久连接
EN

Stack Overflow用户
提问于 2012-05-11 19:20:40
回答 4查看 8.6K关注 0票数 0

我正在尝试写一个java程序,它将自动下载并命名一些我最喜欢的网络漫画。因为我将从同一个域请求多个对象,所以我希望有一个持久的http连接,这样我就可以保持打开状态,直到下载完所有的漫画。下面是我正在进行的工作。如何在不打开新的http连接的情况下,从相同的域但不同的路径发出另一个请求?

代码语言:javascript
复制
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);
        }
    }
}
EN

回答 4

Stack Overflow用户

发布于 2012-05-11 19:36:59

只要HTTP服务器支持keep-alive,HttpURLConnection的实现就会缓存底层的TCP连接,并为您透明地执行此操作。

票数 4
EN

Stack Overflow用户

发布于 2014-08-08 19:47:08

对HTTP keep-Alive的支持是透明的。但是,它可以由系统属性http.keepAlive,和http.maxConnections,以及HTTP1.1指定的请求和响应头控制。

控制Keep-Alive行为的系统属性包括:

http.keepAlive=(布尔值)默认值: true

指示是否应支持保持活动(持久)连接。

http.maxConnections=(整型)默认值:5

指示每个目标在任何给定时间保持活动状态的最大连接数

摘自:Persistent Connections

票数 1
EN

Stack Overflow用户

发布于 2012-05-11 19:26:57

HTTP连接是无状态的,因此您请求的每个新图像都将是一个新的URL,因此也是一个新的连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10550364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档