java - RESTEasy - 如何为 ClientRequest 设置基本身份验证

标签 java jakarta-ee httpclient jax-rs resteasy

我正在使用 RESTEasy(JAX-RS 的实现)。 我找不到为 ClientRequest 设置基本的抢占式身份验证的方法。

ClientRequest request = new ClientRequest("<url>");
// -- here I want to add basic-preemptive authentication --
ClientResponse response = request.get();
System.out.println(response.getEntity(String.class));

正确的做法是什么? 还有其他办法吗?

谢谢。

最佳答案

如果您查看 ClientRequest 中的构造函数,您会发现其中一个需要一个字符串和一个 ClientExecutor

所以你可以这样做:

ApacheHttpClient4Executor executor = new ApacheHttpClient4Executor();
DefaultHttpClient client  = (DefaultHttpClient) executor.getHttpClient();
client.addRequestInterceptor(new MyPreemptiveAuthInterceptor(), 0);

ClientRequest request = new ClientRequest("http://my-url", executor);

关于java - RESTEasy - 如何为 ClientRequest 设置基本身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11377932/

相关文章:

java - 使用 opencsv API 或 Apache Poi Api 是否有限制?

java - 在java中找到第k个最小的数字

java - 如何在更多 HTTP 请求中缓存 Spring MVC Web 应用程序中的数据?

c# - 直到文件完全下载后,使用HttpClient请求的音频流才会播放

http - 使用 http 1.0 或更早版本的客户端可以使用 UDP 套接字而不是 TCP 套接字吗?

java - 为什么Java的Optional在ifPresent()中不调用Consumer?

Java 输入运行错误

java - 如何在 Javafx 的 initialize() 方法期间在后台加载大文件?

java - Tomcat 上的 JSF - 为什么这可能?

http - 为什么要为请求缓存控制 HTTP header ?