我创建了一个应用程序,它向URL发送GET请求,然后下载该页面的全部内容。
客户端发送GET请求到例如stackoverflow.com,并将响应转发给解析器,解析器负责查找需要使用后续GET请求下载的页面中的所有资源。
以下方法用于发送这些GET请求。它被连续调用多次,使用解析器返回的URL。其中大多数URL位于同一主机上,应能够共享TCP连接。
每次调用该方法时,都会创建一个新的TCP连接(通过TCP三次握手),然后在该连接上发送GET请求。但我想重用TCP连接,以提高性能。
我猜想,由于每次调用该方法时我都创建了一个新的URL对象,这就是它运行的方式...
也许有人可以帮助我更好地完成这个任务?
谢谢!
客户端发送GET请求到例如stackoverflow.com,并将响应转发给解析器,解析器负责查找需要使用后续GET请求下载的页面中的所有资源。
以下方法用于发送这些GET请求。它被连续调用多次,使用解析器返回的URL。其中大多数URL位于同一主机上,应能够共享TCP连接。
public static void sendGetRequestToSubObject(String RecUrl)
{
URL url = new URL(recUrl.toString());
URLConnection connection = url.openConnection ();
InputStreamReader isr = new InputStreamReader(connection.getInputStream());
}
每次调用该方法时,都会创建一个新的TCP连接(通过TCP三次握手),然后在该连接上发送GET请求。但我想重用TCP连接,以提高性能。
我猜想,由于每次调用该方法时我都创建了一个新的URL对象,这就是它运行的方式...
也许有人可以帮助我更好地完成这个任务?
谢谢!
URL
对象无法被修改,因此每次都必须创建一个新的对象,所以这肯定不是问题。 - Joachim Sauer