来自一个HttpURLConnection的几个请求

如何使用Java在一个HttpURLConnection中执行多个请求?

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 

谢谢。

来自Javadoc:

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

该物体显然不是要重复使用。

除了一点内存抖动和低效率之外,为每个要创建的请求打开一个HttpURLConnection都没有大问题。 但是,如果您想要更大规模的高效网络IO,那么最好使用像Apache HttpClient这样的专用库。

除了正确的答案,也许你真正想要的是重用底层的TCP连接,也就是“持久连接”,JDK的HttpURLConnection确实支持它。 因此,您不需要使用其他http库; 虽然还有其他正当理由,但可能是性能(但不一定,取决于用例,库)。