You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Lê Văn Thanh (JIRA)" <ji...@apache.org> on 2017/05/08 03:26:04 UTC
[jira] [Created] (HTTPCLIENT-1844) CloseableHttpClient error :
org.apache.http.NoHttpResponseException failed to respond
Lê Văn Thanh created HTTPCLIENT-1844:
----------------------------------------
Summary: CloseableHttpClient error : org.apache.http.NoHttpResponseException failed to respond
Key: HTTPCLIENT-1844
URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1844
Project: HttpComponents HttpClient
Issue Type: Bug
Components: HttpClient (async)
Affects Versions: 4.5.3
Environment: JDK : Java 8
IDE : Netbean
EVR : MacOS
Reporter: Lê Văn Thanh
Attachments: log_bug
I tried to using CloseableHttpClient with tor proxy but i got a messenge :
org.apache.http.NoHttpResponseException: The target server failed to respond
My code I using CloseableHttpClient:
Thread thread = new Thread() {
@Override
public void run() {
try {
HttpGet headMethod = new HttpGet("https://wtfismyip.com/");
HttpHost proxy = new HttpHost("127.0.0.1", 9150);
RequestConfig requestConfig = RequestConfig.custom()
.setSocketTimeout(5 * 1000)
.setConnectTimeout(5 * 1000)
.build();
headMethod.setConfig(requestConfig);
RegistryBuilder<ConnectionSocketFactory> connRegistryBuilder = RegistryBuilder.create();
connRegistryBuilder.register("http", PlainConnectionSocketFactory.INSTANCE);
SSLContext sslContext
= SSLContexts.custom().loadTrustMaterial(null, new TrustStrategy() {
@Override
public boolean isTrusted(final X509Certificate[] chain, String authType) {
return true;
}
}).build();
SSLConnectionSocketFactory sslsf
= new SniSSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);
connRegistryBuilder.register("https", sslsf);
Registry<ConnectionSocketFactory> connRegistry = connRegistryBuilder.build();
PoolingHttpClientConnectionManager connectionManager = new SniPoolingHttpClientConnectionManager(connRegistry);
connectionManager.setMaxTotal(10);
connectionManager.setDefaultMaxPerRoute(10);
CloseableHttpClient httpClient = HttpClientBuilder
.create()
.setDefaultRequestConfig(requestConfig)
.setConnectionManager(connectionManager)
.setProxy(proxy)
.disableContentCompression()
.build();
HttpResponse httpResponse = httpClient.execute(headMethod);
int statusCode = httpResponse.getStatusLine().getStatusCode();
System.out.println(statusCode);
} catch (IOException | NoSuchAlgorithmException | KeyStoreException | KeyManagementException ex) {
Logger.getLogger(TestTor.class.getName()).log(Level.SEVERE, null, ex);
}
}
};
thread.start();
But when i using HttpURLConnection then ok , so I don't know why CloseableHttpClient not ok.
My code i using HttpURLConnection :
new Thread(() -> {
try {
URL url = new URL("https://wtfismyip.com/");
Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("localhost", 9150));
HttpURLConnection uc = (HttpURLConnection) url.openConnection(proxy);
uc.setConnectTimeout(10000);
Map<String, List<String>> map = uc.getHeaderFields();
System.out.println("status = " + uc.getResponseCode());
} catch (MalformedURLException ex) {
Logger.getLogger(TestTor.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(TestTor.class.getName()).log(Level.SEVERE, null, ex);
}
}).start();
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org