java - 使用 HttpClient 在不同线程中连接到同一 URL

标签 java multithreading httpclient

在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/

相关文章:

java - 数组的挑战

java - 类型不适用,我找不到错误

java - Spatial lucene简单查询不起作用?

java - java中退出线程

c# - 在 WinRT HttpClient 上设置请求内容类型

java - tomcat - 在 servlet 中启动线程并发送响应

java - 调用 Intent 启动 Activity 时应用程序崩溃

java - 当 run() 和 start() 实际上都产生一个新线程时,在新线程上调用 run() 和 start() 究竟有什么区别?

java - Thread.join() 未执行代码完成

java - 获取使用HTTPClient获取的部分数据