use of org.apache.http.impl.client.BasicCredentialsProvider in project wildfly-swarm by wildfly-swarm.
the class SimpleHttp method getUrlContents.
protected Response getUrlContents(String theUrl, boolean useAuth, boolean followRedirects) {
StringBuilder content = new StringBuilder();
int code;
try {
CredentialsProvider provider = new BasicCredentialsProvider();
HttpClientBuilder builder = HttpClientBuilder.create();
if (!followRedirects) {
builder.disableRedirectHandling();
}
if (useAuth) {
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials("admin", "password");
provider.setCredentials(AuthScope.ANY, credentials);
builder.setDefaultCredentialsProvider(provider);
}
HttpClient client = builder.build();
HttpResponse response = client.execute(new HttpGet(theUrl));
code = response.getStatusLine().getStatusCode();
if (null == response.getEntity()) {
throw new RuntimeException("No response content present");
}
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String line;
while ((line = bufferedReader.readLine()) != null) {
content.append(line + "\n");
}
bufferedReader.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
return new Response(code, content.toString());
}
use of org.apache.http.impl.client.BasicCredentialsProvider in project stdlib by petergeneric.
the class ResteasyClientFactoryImpl method createHttpClientCustomiser.
/**
* N.B. This method signature may change in the future to add new parameters
*
* @param fastFail
* @param authScope
* @param credentials
* @param preemptiveAuth
* @param storeCookies
* @param customiser
*
* @return
*/
public Consumer<HttpClientBuilder> createHttpClientCustomiser(final boolean fastFail, final AuthScope authScope, final Credentials credentials, final boolean preemptiveAuth, final boolean storeCookies, Consumer<HttpClientBuilder> customiser) {
// Customise timeouts if fast fail mode is enabled
if (fastFail) {
customiser = concat(customiser, b -> {
RequestConfig.Builder requestBuilder = RequestConfig.custom();
requestBuilder.setConnectTimeout((int) fastFailConnectionTimeout.getMilliseconds()).setSocketTimeout((int) fastFailSocketTimeout.getMilliseconds());
b.setDefaultRequestConfig(requestBuilder.build());
});
}
// If credentials were supplied then we should set them up
if (credentials != null) {
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
if (authScope != null)
credentialsProvider.setCredentials(authScope, credentials);
else
credentialsProvider.setCredentials(AuthScope.ANY, credentials);
// Set up bearer auth scheme provider if we're using bearer credentials
if (credentials instanceof BearerCredentials) {
customiser = concat(customiser, b -> {
Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create().register("Bearer", new BearerAuthSchemeProvider()).build();
b.setDefaultAuthSchemeRegistry(authSchemeRegistry);
});
}
// Set up the credentials customisation
customiser = concat(customiser, b -> b.setDefaultCredentialsProvider(credentialsProvider));
if (preemptiveAuth && credentials instanceof BearerCredentials)
customiser = concat(customiser, b -> b.addInterceptorFirst(new PreemptiveBearerAuthInterceptor()));
else
customiser = concat(customiser, b -> b.addInterceptorLast(new PreemptiveBasicAuthInterceptor()));
}
// If cookies are enabled then set up a cookie store
if (storeCookies)
customiser = concat(customiser, b -> b.setDefaultCookieStore(new BasicCookieStore()));
return customiser;
}
use of org.apache.http.impl.client.BasicCredentialsProvider in project sagacity-sqltoy by chenrenfei.
the class HttpClientUtils method doPost.
/**
* @todo 执行post请求
* @param sqltoyContext
* @param nosqlConfig
* @param url
* @param jsonObject
* @return
* @throws Exception
*/
public static JSONObject doPost(SqlToyContext sqltoyContext, NoSqlConfigModel nosqlConfig, Object postValue) throws Exception {
ElasticEndpoint esConfig = sqltoyContext.getElasticEndpoint(nosqlConfig.getUrl());
if (esConfig.getUrl() == null)
throw new Exception("请正确配置sqltoyContext elasticConfigs 指定es的服务地址!");
String charset = (nosqlConfig.getCharset() == null) ? CHARSET : nosqlConfig.getCharset();
HttpEntity httpEntity = new StringEntity(nosqlConfig.isSqlMode() ? postValue.toString() : JSON.toJSONString(postValue), charset);
((StringEntity) httpEntity).setContentEncoding(charset);
((StringEntity) httpEntity).setContentType(CONTENT_TYPE);
String realUrl;
// 返回结果
HttpEntity reponseEntity = null;
if (esConfig.getRestClient() != null) {
realUrl = wrapUrl(esConfig.getPath(), nosqlConfig);
if (sqltoyContext.isDebug())
logger.debug("esRestClient执行:URL=[{}],Path={},执行的JSON=[{}]", esConfig.getUrl(), realUrl, JSON.toJSONString(postValue));
// 默认采用post请求
RestClient restClient = null;
try {
restClient = esConfig.getRestClient();
Response response = restClient.performRequest("POST", realUrl, Collections.<String, String>emptyMap(), httpEntity);
reponseEntity = response.getEntity();
} catch (Exception e) {
throw e;
} finally {
if (restClient != null)
restClient.close();
}
} else {
realUrl = wrapUrl(esConfig.getUrl(), nosqlConfig);
HttpPost httpPost = new HttpPost(realUrl);
if (sqltoyContext.isDebug())
logger.debug("httpClient执行URL=[{}],执行的JSON=[{}]", realUrl, JSON.toJSONString(postValue));
httpPost.setEntity(httpEntity);
// 设置connection是否自动关闭
httpPost.setHeader("Connection", "close");
// 自定义超时
if (nosqlConfig.getRequestTimeout() != 30000 || nosqlConfig.getConnectTimeout() != 10000 || nosqlConfig.getSocketTimeout() != 180000) {
httpPost.setConfig(RequestConfig.custom().setConnectionRequestTimeout(nosqlConfig.getRequestTimeout()).setConnectTimeout(nosqlConfig.getConnectTimeout()).setSocketTimeout(nosqlConfig.getSocketTimeout()).build());
} else
httpPost.setConfig(requestConfig);
CloseableHttpClient client = null;
try {
if (StringUtil.isNotBlank(esConfig.getUsername()) && StringUtil.isNotBlank(esConfig.getPassword())) {
// 凭据提供器
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(AuthScope.ANY, // 认证用户名和密码
new UsernamePasswordCredentials(esConfig.getUsername(), esConfig.getPassword()));
client = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();
} else
client = HttpClients.createDefault();
HttpResponse response = client.execute(httpPost);
reponseEntity = response.getEntity();
} catch (Exception e) {
throw e;
}
}
String result = null;
if (reponseEntity != null) {
result = EntityUtils.toString(reponseEntity, nosqlConfig.getCharset());
if (sqltoyContext.isDebug())
logger.debug("result={}", result);
}
if (StringUtil.isBlank(result))
return null;
// 将结果转换为JSON对象
JSONObject json = JSON.parseObject(result);
// 存在错误
if (json.containsKey("error")) {
String errorMessage = JSON.toJSONString(json.getJSONObject("error").getJSONArray("root_cause").get(0));
logger.error("elastic查询失败,URL:[{}],错误信息:[{}]", nosqlConfig.getUrl(), errorMessage);
throw new Exception("ElasticSearch查询失败,错误信息:" + errorMessage);
}
return json;
}
use of org.apache.http.impl.client.BasicCredentialsProvider in project carina by qaprosoft.
the class RestTemplateBuilder method build.
public RestTemplate build() {
if (!isUseDefaultJsonMessageConverter) {
HttpMessageConverter<?> httpMessageConverter = Iterables.tryFind(restTemplate.getMessageConverters(), new Predicate<HttpMessageConverter<?>>() {
@Override
public boolean apply(HttpMessageConverter<?> input) {
return input instanceof MappingJackson2HttpMessageConverter;
}
}).orNull();
restTemplate.getMessageConverters().remove(httpMessageConverter);
}
restTemplate.getMessageConverters().addAll(httpMessageConverters);
if (isDisableSslChecking) {
restTemplate.setRequestFactory(new DisabledSslClientHttpRequestFactory());
}
if (isUseBasicAuth) {
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(basicAuthUsername, basicAuthPassword));
HttpClient httpClient = HttpClients.custom().setDefaultCredentialsProvider(credentialsProvider).build();
restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory(httpClient));
}
return restTemplate;
}
use of org.apache.http.impl.client.BasicCredentialsProvider in project service-proxy by membrane.
the class AssertUtils method getAuthenticatingHttpClient.
private static HttpClient getAuthenticatingHttpClient(String host, int port, String user, String pass) {
Credentials defaultcreds = new UsernamePasswordCredentials(user, pass);
BasicCredentialsProvider bcp = new BasicCredentialsProvider();
bcp.setCredentials(new AuthScope(host, port, AuthScope.ANY_REALM), defaultcreds);
HttpRequestInterceptor preemptiveAuth = new HttpRequestInterceptor() {
public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException {
AuthState authState = (AuthState) context.getAttribute(HttpClientContext.TARGET_AUTH_STATE);
CredentialsProvider credsProvider = (CredentialsProvider) context.getAttribute(HttpClientContext.CREDS_PROVIDER);
HttpHost targetHost = (HttpHost) context.getAttribute(HttpCoreContext.HTTP_TARGET_HOST);
if (authState.getAuthScheme() == null) {
AuthScope authScope = new AuthScope(targetHost.getHostName(), targetHost.getPort());
Credentials creds = credsProvider.getCredentials(authScope);
if (creds != null) {
authState.update(new BasicScheme(), creds);
}
}
}
};
HttpClient hc = HttpClientBuilder.create().setDefaultCookieStore(new BasicCookieStore()).setDefaultCredentialsProvider(bcp).addInterceptorFirst(preemptiveAuth).build();
return hc;
}
Aggregations