下面列出了org.apache.http.impl.client.SystemDefaultHttpClient#org.apache.http.client.params.AuthPolicy 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private SystemDefaultHttpClient getHttpClient() {
final SystemDefaultHttpClient httpClient = new SystemDefaultHttpClient();
httpClient.getAuthSchemes().register(AuthPolicy.SPNEGO, new SPNegoSchemeFactory(true));
Credentials use_jaas_creds = new Credentials() {
public String getPassword() {
return null;
}
public Principal getUserPrincipal() {
return null;
}
};
httpClient.getCredentialsProvider().setCredentials(
AuthScope.ANY, use_jaas_creds);
return httpClient;
}
private SystemDefaultHttpClient getHttpClient() {
final SystemDefaultHttpClient httpClient = new SystemDefaultHttpClient();
httpClient.getAuthSchemes().register(AuthPolicy.SPNEGO, new SPNegoSchemeFactory(true));
Credentials use_jaas_creds = new Credentials() {
public String getPassword() {
return null;
}
public Principal getUserPrincipal() {
return null;
}
};
httpClient.getCredentialsProvider().setCredentials(
AuthScope.ANY, use_jaas_creds);
return httpClient;
}
private SystemDefaultHttpClient getHttpClient() {
final SystemDefaultHttpClient httpClient = new SystemDefaultHttpClient();
httpClient.getAuthSchemes().register(AuthPolicy.SPNEGO, new SPNegoSchemeFactory(true));
Credentials use_jaas_creds = new Credentials() {
public String getPassword() {
return null;
}
public Principal getUserPrincipal() {
return null;
}
};
httpClient.getCredentialsProvider().setCredentials(
AuthScope.ANY, use_jaas_creds);
return httpClient;
}
private void useCredentials(DefaultHttpClient httpClient, PasswordCredentials credentials, String host, int port) {
Credentials basicCredentials = new UsernamePasswordCredentials(credentials.getUsername(), credentials.getPassword());
httpClient.getCredentialsProvider().setCredentials(new AuthScope(host, port), basicCredentials);
NTLMCredentials ntlmCredentials = new NTLMCredentials(credentials);
Credentials ntCredentials = new NTCredentials(ntlmCredentials.getUsername(), ntlmCredentials.getPassword(), ntlmCredentials.getWorkstation(), ntlmCredentials.getDomain());
httpClient.getCredentialsProvider().setCredentials(new AuthScope(host, port, AuthScope.ANY_REALM, AuthPolicy.NTLM), ntCredentials);
LOGGER.debug("Using {} and {} for authenticating against '{}:{}'", new Object[]{credentials, ntlmCredentials, host, port});
}
private void useCredentials(DefaultHttpClient httpClient, PasswordCredentials credentials, String host, int port) {
Credentials basicCredentials = new UsernamePasswordCredentials(credentials.getUsername(), credentials.getPassword());
httpClient.getCredentialsProvider().setCredentials(new AuthScope(host, port), basicCredentials);
NTLMCredentials ntlmCredentials = new NTLMCredentials(credentials);
Credentials ntCredentials = new NTCredentials(ntlmCredentials.getUsername(), ntlmCredentials.getPassword(), ntlmCredentials.getWorkstation(), ntlmCredentials.getDomain());
httpClient.getCredentialsProvider().setCredentials(new AuthScope(host, port, AuthScope.ANY_REALM, AuthPolicy.NTLM), ntCredentials);
LOGGER.debug("Using {} and {} for authenticating against '{}:{}'", new Object[]{credentials, ntlmCredentials, host, port});
}
private HttpGet authenticate(
DefaultHttpClient client, HttpGet get, String urlStr, String username, String password)
throws MalformedURLException {
URL url = new URL(urlStr);
List<String> authPrefs = new ArrayList<String>(2);
authPrefs.add(AuthPolicy.DIGEST);
authPrefs.add(AuthPolicy.BASIC);
client.getParams().setParameter(AuthPNames.PROXY_AUTH_PREF, authPrefs);
client.getParams().setParameter(AuthPNames.TARGET_AUTH_PREF, authPrefs);
Credentials defaultcreds = new UsernamePasswordCredentials(username, password);
client
.getCredentialsProvider()
.setCredentials(new AuthScope(url.getHost(), url.getPort()), defaultcreds);
return get;
}
private void useCredentials(DefaultHttpClient httpClient, PasswordCredentials credentials, String host, int port) {
Credentials basicCredentials = new UsernamePasswordCredentials(credentials.getUsername(), credentials.getPassword());
httpClient.getCredentialsProvider().setCredentials(new AuthScope(host, port), basicCredentials);
NTLMCredentials ntlmCredentials = new NTLMCredentials(credentials);
Credentials ntCredentials = new NTCredentials(ntlmCredentials.getUsername(), ntlmCredentials.getPassword(), ntlmCredentials.getWorkstation(), ntlmCredentials.getDomain());
httpClient.getCredentialsProvider().setCredentials(new AuthScope(host, port, AuthScope.ANY_REALM, AuthPolicy.NTLM), ntCredentials);
LOGGER.debug("Using {} and {} for authenticating against '{}:{}'", new Object[]{credentials, ntlmCredentials, host, port});
}
private void useCredentials(DefaultHttpClient httpClient, PasswordCredentials credentials, String host, int port) {
Credentials basicCredentials = new UsernamePasswordCredentials(credentials.getUsername(), credentials.getPassword());
httpClient.getCredentialsProvider().setCredentials(new AuthScope(host, port), basicCredentials);
NTLMCredentials ntlmCredentials = new NTLMCredentials(credentials);
Credentials ntCredentials = new NTCredentials(ntlmCredentials.getUsername(), ntlmCredentials.getPassword(), ntlmCredentials.getWorkstation(), ntlmCredentials.getDomain());
httpClient.getCredentialsProvider().setCredentials(new AuthScope(host, port, AuthScope.ANY_REALM, AuthPolicy.NTLM), ntCredentials);
LOGGER.debug("Using {} and {} for authenticating against '{}:{}'", new Object[]{credentials, ntlmCredentials, host, port});
}
private WebdavClientImpl(String username, String password, ProxyConfiguration proxyConfiguration) {
super(username, password, proxyConfiguration.getProxySelector());
// prefer basic authentication, as NTLM does not seem to work
// FIXME deprecated since 4.2, but ProxyAuthenticationStrategy does not support default scheme priority overriding
client.setProxyAuthenticationHandler(new DefaultProxyAuthenticationHandler() {
@Override
protected List<String> getAuthPreferences(HttpResponse response, HttpContext context) {
return Arrays.asList(
AuthPolicy.BASIC,
AuthPolicy.DIGEST,
AuthPolicy.SPNEGO,
AuthPolicy.NTLM);
}
});
if (proxyConfiguration.isProxyUsed()) {
UserInfo userInfo = proxyConfiguration.getUserInfo();
if (!userInfo.isEmpty()) {
HttpHost proxyHost = new HttpHost(proxyConfiguration.getHost(), proxyConfiguration.getPort());
client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxyHost);
setProxyCredentials(client, proxyHost.getHostName(), proxyHost.getPort(), userInfo.getUserInfo());
}
}
}
public URIHandle(String host, int port, String user, String password, Authentication authType) {
super();
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(
new Scheme("http", port, PlainSocketFactory.getSocketFactory())
);
// PoolingClientConnectionManager connMgr = new PoolingClientConnectionManager( // 4.2
ThreadSafeClientConnManager connMgr = new ThreadSafeClientConnManager(
schemeRegistry);
connMgr.setDefaultMaxPerRoute(100);
DefaultHttpClient defaultClient = new DefaultHttpClient(connMgr);
List<String> prefList = new ArrayList<>();
if (authType == Authentication.BASIC)
prefList.add(AuthPolicy.BASIC);
else if (authType == Authentication.DIGEST)
prefList.add(AuthPolicy.DIGEST);
else
throw new IllegalArgumentException("Unknown authentication type "+authType.name());
defaultClient.getParams().setParameter(AuthPNames.PROXY_AUTH_PREF, prefList);
defaultClient.getCredentialsProvider().setCredentials(
new AuthScope(host, port),
new UsernamePasswordCredentials(user, password)
);
setClient(defaultClient);
}