从一个HttpURLConnection的几点要求
-
20-09-2019 - |
题
我
如何可以做几次请求一个HttpURLConnection类与Java?
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库这个原因;虽然有其他合法的理由,可能性能(但不是必须的,依赖于使用的情况下,库)。
不隶属于 StackOverflow