如何在java.net.URLConnection上指定本地地址?

sti*_*ian 11 java ip tomcat urlconnection

我的Tomcat实例正在侦听多个IP地址,但我想控制打开时使用的源IP地址URLConnection.

我怎么指定这个?

小智 6

这应该做的伎俩:

URL url = new URL(yourUrlHere);
Proxy proxy = new Proxy(Proxy.Type.DIRECT, 
    new InetSocketAddress( 
        InetAddress.getByAddress(
            new byte[]{your, ip, interface, here}), yourTcpPortHere));
URLConnection conn = url.openConnection(proxy);
Run Code Online (Sandbox Code Playgroud)

你完成了.不要忘记很好地处理异常,并且当然会更改值以适合您的场景.

啊,我省略了import语句

  • 这失败了*"java.lang.IllegalArgumentException:type DIRECT与地址my.ip.address.here"*不兼容.潜入Proxy的源代码,我发现只要尝试*类型DIRECT,就会抛出此异常*. (7认同)