在java中使用HttpClient在多线程中获取URL内容的正确方法是什么?
例如,加载包含项目的列表,同时在不同线程中加载每个项目,并从具有不同参数的同一 URL 获取信息。
在我创建的应用程序中,当我在不同线程中从同一 URL 读取 XML 时,它没有给我找到任何元素异常。
最佳答案
因为接受的答案描述了仅适用于 HttpClient 3.x 的解决方案,并且当前版本是 4.1(这也包含在 Android 中),所以我想分享一个有效的 4.x 示例。也许这可以节省一些人的精力。
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
schemeRegistry.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
HttpParams parameters = new BasicHttpParams();
ClientConnectionManager connectionManager = new ThreadSafeClientConnManager(parameters, schemeRegistry);
HttpClient httpClient = new DefaultHttpClient(connectionManager, parameters);
关于java - 使用 HttpClient 在不同线程中连接到同一 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1477420/