代码之家  ›  专栏  ›  技术社区  ›  Stan Kurilin

来自一个httpurlconnection的多个请求

  •  15
  • Stan Kurilin  · 技术社区  · 14 年前

    如何在Java与HTTPURL连接中进行多个请求?

     URL url = new URL("http://my.com");
     HttpURLConnection connection = (HttpURLConnection)url.openConnection();
     HttpURLConnection.setFollowRedirects( true );
     connection.setDoOutput( true );
     connection.setRequestMethod("GET"); 
    
     PrintStream ps = new PrintStream( connection.getOutputStream() );
     ps.print(params);
     ps.close();
     connection.connect();
     //TODO: do next request with other url, but in same connection
    

    谢谢。

    2 回复  |  直到 14 年前
        1
  •  15
  •   Carl Smotricz    14 年前

    从javadoc:

    每个httpurlconnection实例都用于发出单个请求。

    这个东西显然不是用来再利用的。

    除了内存有点混乱和效率低下之外,为每个您想发出的请求打开一个httpurlconnection没有大问题。如果你想要更大规模的高效网络IO,最好使用一个专门的库,比如 Apache HttpClient .

        2
  •  3
  •   StaxMan    14 年前

    除了正确的答案之外,也许您真正想要的是重用底层的tcp连接,也就是“持久连接”,jdk的httpurlconnection确实支持这种连接。因此,您不需要因为这个原因而使用其他http lib;尽管有其他合理的原因,可能是性能(但不一定取决于用例、库)。