好吧,这个问题听起来有点疯狂,但我只是想节省时间和精力。在移动设备上打开连接需要时间和精力,所以我想尽可能重用打开的连接。
我可能需要从example.com
和下载文件example.net
。两个站点都托管在同一服务器/IP 上,因此应该可以通过一个连接从两个文档中获取文档。
DefaultHttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet("http://example.com/robots.txt");
HttpGet get2 = new HttpGet("http://example.net/robots.txt");
URI uri = get.getURI();
HttpHost host = new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme());
ResponseHandler<String> responseHandler = new BasicResponseHandler();
HttpResponse response = client.execute(host, get);
String data = responseHandler.handleResponse(response);
Log.v("test", "Downloaded " + data.length() + " bytes from " + get.getURI().toASCIIString());
response = client.execute(host, get2);
data = responseHandler.handleResponse(response);
Log.v("test", "Downloaded " + data.length() + " bytes from " + get2.getURI().toASCIIString());
问题是当我不HttpHost
为每个呼叫使用它时,就会建立一个新连接。如果我使用这两个Host
HTTP 标头都指向第一个域。我该如何解决?