Java 类org.apache.http.impl.client.WinHttpClients 实例源码
项目:purecloud-iot
文件:ClientWinAuth.java
public final static void main(String[] args) throws Exception {
if (!WinHttpClients.isWinAuthAvailable()) {
System.out.println("Integrated Win auth is not supported!!!");
}
CloseableHttpClient httpclient = WinHttpClients.createDefault();
// There is no need to provide user credentials
// HttpClient will attempt to access current user security context through
// Windows platform specific methods via JNI.
try {
HttpGet httpget = new HttpGet("http://winhost/");
System.out.println("Executing request " + httpget.getRequestLine());
CloseableHttpResponse response = httpclient.execute(httpget);
try {
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
EntityUtils.consume(response.getEntity());
} finally {
response.close();
}
} finally {
httpclient.close();
}
}
项目:uw-android
文件:ClientWinAuth.java
public final static void main(String[] args) throws Exception {
if (!WinHttpClients.isWinAuthAvailable()) {
System.out.println("Integrated Win auth is not supported!!!");
}
CloseableHttpClient httpclient = WinHttpClients.createDefault();
// There is no need to provide user credentials
// HttpClient will attempt to access current user security context through
// Windows platform specific methods via JNI.
try {
HttpGet httpget = new HttpGet("http://winhost/");
System.out.println("Executing request " + httpget.getRequestLine());
CloseableHttpResponse response = httpclient.execute(httpget);
try {
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
EntityUtils.consume(response.getEntity());
} finally {
response.close();
}
} finally {
httpclient.close();
}
}
项目:httpclient
文件:RestClient.java
private HttpClient createHttpClient(Authentication auth, String verify, HttpHost target, Boolean postRedirects,
String password, TrustStrategy keystoreTrustStrategy, HostnameVerifier keystoreHostnameVerifier,
Proxy proxy) {
Certificate certificate = new Certificate();
Auth authHelper = new Auth();
HttpClientBuilder httpClientBuilder = WinHttpClients.custom();
Builder requestConfig = RequestConfig.custom();
requestConfig.setCookieSpec(CookieSpecs.DEFAULT);
logger.debug("Verify value: " + verify);
logger.debug((new File(verify).getAbsolutePath()));
if (new File(verify).exists()) {
logger.debug("Loading custom keystore");
httpClientBuilder.setSSLSocketFactory(
certificate.allowAllCertificates(certificate.createCustomKeyStore(verify.toString(), password),
password, keystoreTrustStrategy, keystoreHostnameVerifier));
} else if (!Boolean.parseBoolean(verify.toString())) {
logger.debug("Allowing all certificates");
httpClientBuilder.setSSLSocketFactory(certificate.allowAllCertificates(null));
}
if (auth.isAuthenticable()) {
httpClientBuilder.setDefaultCredentialsProvider(authHelper.getCredentialsProvider(auth, target));
}
if (proxy != null && proxy.isInUse()) {
logger.debug("Enabling proxy");
if (proxy.isAuthenticable()) {
logger.debug("Setting proxy credentials");
httpClientBuilder.setDefaultCredentialsProvider(
authHelper.getCredentialsProvider(proxy.getAuth(), proxy.getHttpHost()));
}
requestConfig.setProxy(proxy.getHttpHost());
}
if (postRedirects) {
httpClientBuilder.setRedirectStrategy(new CustomRedirectStrategy());
}
httpClientBuilder.setDefaultRequestConfig(requestConfig.build());
return httpClientBuilder.build();
}
项目:purecloud-iot
文件:TestWindowsNegotiateScheme.java
@Test(timeout=30000) // this timeout (in ms) needs to be extended if you're actively debugging the code
public void testNoInfiniteLoopOnSPNOutsideDomain() throws Exception {
Assume.assumeTrue("Test can only be run on Windows", WinHttpClients.isWinAuthAvailable());
// HTTPCLIENT-1545
// If a service principal name (SPN) from outside your Windows domain tree (e.g., HTTP/example.com) is used,
// InitializeSecurityContext will return SEC_E_DOWNGRADE_DETECTED (decimal: -2146892976, hex: 0x80090350).
// Because WindowsNegotiateScheme wasn't setting the completed state correctly when authentication fails,
// HttpClient goes into an infinite loop, constantly retrying the negotiate authentication to kingdom
// come. This error message, "The system detected a possible attempt to compromise security. Please ensure that
// you can contact the server that authenticated you." is associated with SEC_E_DOWNGRADE_DETECTED.
final Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create()
.register(AuthSchemes.SPNEGO, new AuthSchemeProvider() {
@Override
public AuthScheme create(final HttpContext context) {
return new WindowsNegotiateSchemeGetTokenFail(AuthSchemes.SPNEGO, "HTTP/example.com");
}
}).build();
final CredentialsProvider credsProvider =
new WindowsCredentialsProvider(new SystemDefaultCredentialsProvider());
final CloseableHttpClient customClient = HttpClientBuilder.create()
.setDefaultCredentialsProvider(credsProvider)
.setDefaultAuthSchemeRegistry(authSchemeRegistry).build();
final HttpHost target = start();
final HttpGet httpGet = new HttpGet("/");
final CloseableHttpResponse response = customClient.execute(target, httpGet);
try {
EntityUtils.consume(response.getEntity());
} finally {
response.close();
}
}
项目:geoevent-datastore-proxy
文件:GeoEventDataStoreProxy.java
private CloseableHttpClient createHttpClient(ServerInfo serverInfo)
{
HttpClientBuilder builder = (useBuiltinWindowsAuthentication(serverInfo)) ? WinHttpClients.custom() : HttpClients.custom();
HttpClientConnectionManager connMgr = createConnectionManagerIfNecessary();
if (connMgr != null)
{
builder.setConnectionManager(connMgr);
}
builder.setUserAgent(userAgent);
builder.useSystemProperties();
return builder.build();
}