You are viewing a plain text version of this content. The canonical link for it is here.
Posted to httpclient-users@hc.apache.org by Vicky Singh <vi...@yahoo.com.INVALID> on 2016/06/09 19:40:02 UTC
How to retrieve server ip of the connected connections
I am using PoolingHttpClientConnectionManager to create connections. I would like to get what IP address my connections resolve to. Is there a API that I can use.
I need it for reporting and also to drop connections if I think connected IP is not the best IP address. I found this https://issues.apache.org/jira/browse/HTTPCLIENT-656
Summary of my code,
PoolingHttpClientConnectionManager connMgr = new PoolingHttpClientConnectionManager(socketFactoryRegistry); ....// build custom http client . ... Set<HttpRoute> hosts = connMgr.getRoutes(); for (HttpRoute r: hosts) { InetAddress ip = r.getTargetHost().getAddress(); break; }
The above code gets an IP only if HttpHost was created using IP in constructor . From documentation of HttpHost.getAddress() Returns the inet address if explicitly set by a constructor, null otherwise.
Re: How to retrieve server ip of the connected connections
Posted by "Singh, Vicky" <vi...@akamai.com>.
Thanks!
I went ahead with the first implementation.
Vicky
________________________________________
From: Oleg Kalnichevski <ol...@apache.org>
Sent: Friday, June 10, 2016 10:55 AM
To: httpclient-users@hc.apache.org
Subject: Re: How to retrieve server ip of the connected connections
On Thu, 2016-06-09 at 19:40 +0000, Vicky Singh wrote:
>
>
> I am using PoolingHttpClientConnectionManager to create connections. I would like to get what IP address my connections resolve to. Is there a API that I can use.
> I need it for reporting and also to drop connections if I think connected IP is not the best IP address. I found this https://issues.apache.org/jira/browse/HTTPCLIENT-656
>
> Summary of my code,
> PoolingHttpClientConnectionManager connMgr = new PoolingHttpClientConnectionManager(socketFactoryRegistry); ....// build custom http client . ... Set<HttpRoute> hosts = connMgr.getRoutes(); for (HttpRoute r: hosts) { InetAddress ip = r.getTargetHost().getAddress(); break; }
> The above code gets an IP only if HttpHost was created using IP in constructor . From documentation of HttpHost.getAddress() Returns the inet address if explicitly set by a constructor, null otherwise.
>
There are different ways to approach the problem
(1) Have full control over hostname resolution by using a custom
DnsResolver
(2) Get hold of active connections from a custom subsclass of
HttpRequestExecutor
Oleg
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org
Re: How to retrieve server ip of the connected connections
Posted by Oleg Kalnichevski <ol...@apache.org>.
On Thu, 2016-06-09 at 19:40 +0000, Vicky Singh wrote:
>
>
> I am using PoolingHttpClientConnectionManager to create connections. I would like to get what IP address my connections resolve to. Is there a API that I can use.
> I need it for reporting and also to drop connections if I think connected IP is not the best IP address. I found this https://issues.apache.org/jira/browse/HTTPCLIENT-656
>
> Summary of my code,
> PoolingHttpClientConnectionManager connMgr = new PoolingHttpClientConnectionManager(socketFactoryRegistry); ....// build custom http client . ... Set<HttpRoute> hosts = connMgr.getRoutes(); for (HttpRoute r: hosts) { InetAddress ip = r.getTargetHost().getAddress(); break; }
> The above code gets an IP only if HttpHost was created using IP in constructor . From documentation of HttpHost.getAddress() Returns the inet address if explicitly set by a constructor, null otherwise.
>
There are different ways to approach the problem
(1) Have full control over hostname resolution by using a custom
DnsResolver
(2) Get hold of active connections from a custom subsclass of
HttpRequestExecutor
Oleg
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org