jno*_*ris 13 java http jax-rs resteasy
RESTEasy(一个JAX-RS实现)有一个很好的客户端框架,例如:
ServiceApi client = ProxyFactory.create(ServiceApi.class, baseUri);
Run Code Online (Sandbox Code Playgroud)
如何为此客户端提供HTTP身份验证凭据?
小智 16
jnorris的答案使用了一些弃用的类.以下是使用非弃用类的更新方法.
import org.apache.http.HttpStatus;
import org.apache.http.auth.Credentials;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.impl.client.DefaultHttpClient;
...
DefaultHttpClient httpClient = new DefaultHttpClient();
Credentials credentials = new UsernamePasswordCredentials(userName,
password);
httpClient.getCredentialsProvider().setCredentials(
org.apache.http.auth.AuthScope.ANY, credentials);
ClientExecutor clientExecutor = new ApacheHttpClient4Executor(
httpClient);
proxy = ProxyFactory
.create(UserAccessProxy.class, host, clientExecutor);
Run Code Online (Sandbox Code Playgroud)
jno*_*ris 13
可以使用ClientExecutor提供凭据.
Credentials credentials = new UsernamePasswordCredentials(userId, password);
HttpClient httpClient = new HttpClient();
httpClient.getState().setCredentials(AuthScope.ANY, credentials);
httpClient.getParams().setAuthenticationPreemptive(true);
ClientExecutor clientExecutor = new ApacheHttpClientExecutor(httpClient);
ServiceApi client = ProxyFactory.create(ServiceApi.class, baseUri, clientExecutor);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13459 次 |
| 最近记录: |