java - 如何在多线程 HTTP Client 环境中使用基本身份验证?

标签 java multithreading thread-safety httpclient

我正在尝试使用 HTTPClient 将大量请求发布到使用基本身份验证保护的 Web 服务。尽管我使用的是 ThreadSafeClientConnManager,但 Apache HTTPClient 的基本身份验证实现似乎不是线程安全的。有时请求 header 不包含授权元素,这会导致 401。 是否有使用多线程基本身份验证的通用方法或最佳实践?

最佳答案

我最近遇到了同样的问题。 有这个记录的问题:https://issues.apache.org/jira/browse/HTTPCLIENT-1168 您似乎有两个选择:

  1. 为每个线程或请求创建一个 HttpContext
  2. 使用线程安全实现的 SyncBasicHttpContext

关于java - 如何在多线程 HTTP Client 环境中使用基本身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9470045/

相关文章:

java - 在 Java 中调用 Python?

java - Junit 5 的 assertEquals 与 double 的精度

c# - 等待一个或多个任务达到某个里程碑,即异步/等待方式

c# - 调用自己来绕过不同的线程? C#

ios - performselector afterdelay 不起作用

java - Spock 在 "when" block 中运行 Platform.runLater() 时出现计时问题

java - 在android中显示电子邮件(JavaMail Message)的最佳方式

java - 使用抽象类的ArrayList

Android setEGLContextClientVersion() 没有正确注册

c++ - 退出进程时等待线程完成