TCP tunneling through authenticating HTTP proxy
Michael McMahon
michael.x.mcmahon at oracle.com
Thu Oct 25 06:53:02 PDT 2012
There is a JSR for websockets, and they are doing a reference implementation
based on JDK 7 I believe.
As regards TCP sockets via Http proxies, JDK doesn't support that.
The closest thing is probably SOCKS. Can you use that?
- Michael
On 25/10/12 14:32, Vasiliy Baranov wrote:
> Greetings,
>
> And apologies if I am sending this to the wrong list...
>
> Suppose I want my code to talk to a TCP server via an HTTP proxy, by
> setting up a proxy tunnel using the CONNECT method. By any chance, is
> there a mechanism in the Java SE networking stack that would allow me
> to do so? A mechanism that would handle proxy selection, tunneling,
> and, most importantly, authentication identically to HttpURLconnection?
>
> If there is no such mechanism in JDK 7, could such a mechanism be
> added in JDK 8?
>
> FWIW, proxy selection and tunneling through non-authenticating proxy
> is not too difficult to implement with ProxySelector and plain
> Sockets, using
> sun.net.www.protocol.http.HttpURLConnection.plainConnect as a
> reference. My code does so already.
>
> Proxy authentication, however, is a totally different story. If I
> parse JDK code correctly, client code that does not use
> HttpURLConnection is unlikely to be able to integrate nicely with the
> AuthCacheValue cache or handle complex authentication schemes, unless
> it chooses to depend on some JDK-internal APIs and duplicate great
> amount of JDK code. My code probably cannot afford the latter two,
> that is why I am asking for help here on this list. Since I have proxy
> selection and non-authenticated tunneling already implemented, in my
> case it would actually be sufficient to only have some JDK support for
> proper integration with the AuthCacheValue cache and the standard
> authentication schemes. However, I gather a more universal HTTP
> tunneling facility, something that works like HttpURLConnection but
> skips the final HTTP handshake with the end server, is likely to be a
> cleaner solution.
>
> If it matters, I am asking this in the context of adding support for
> WebSockets to JavaFX WebView:
> http://javafx-jira.kenai.com/browse/RT-14947
>
> Thank you in advance,
> -- Vasiliy
More information about the net-dev
mailing list