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

时间:2012-07-07 19:15:46

标签: java java-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));

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

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您查看ClientRequest中的构造函数,您会看到其中一个构造函数带有一个字符串和一个ClientExecutor

所以你可以这样做:

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

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