2011-01-24 30 views
2

我想仅在选定的网络接口上调用HTTP请求以获取其他Web服务。通过一个网络接口的HTTP请求

任何意见,将不胜感激。

+0

同样的问题在这里http://stackoverflow.com/questions/1008781/is-it-possible-to-specify-which-network-interface-for-a-jvm-or-ide-to-use – Cratylus 2011-01-24 20:33:53

回答

2

我发现,您可以在网址定义网络接口这样的:

192.168.1.122%eth0 

它的工作在Ubuntu,我希望它在不同的系统中工作过。

1

这或多或少脱离了Java程序的控制。

由操作系统决定在哪里发送数据包。它将在配置为具有到目的IP的路由的接口上发送数据包 - 或者在默认路由上发送它。所以,你必须确保你已经正确配置你的操作系统来将IP数据包路由到你想要的地方,并且它只会在那个接口上发送它们。

+0

嗯所以您认为解决方案在OS中的路由表中。这也是我的第一个想法,但我想创建更多的抽象应用程序。我发现http://download.oracle.com/javase/1.4.2/docs/api/java/net/NetworkInterface.html,但似乎现在有办法如何在http请求中指定网络接口。我不知道套接字如何在Java中工作。 Iam Java初学者。 – 2011-01-24 20:24:07