我正在使用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));
这样做的正确方法是什么? 还有其他办法吗?
谢谢。
答案 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);