【问题标题】:Http request via one network interface通过一个网络接口的 Http 请求
【发布时间】:2012-05-30 16:42:15
【问题描述】:

我想只在选定的网络接口上调用 REST Web 服务的 HTTP 请求。

对此的任何建议将不胜感激。

【问题讨论】:

标签: java rest network-programming


【解决方案1】:

我发现你可以像这样在 url 中定义网络接口:

192.168.1.122%eth0

它可以在 Ubuntu 中运行,我希望它也可以在不同的系统中运行。

【讨论】:

    【解决方案2】:

    这或多或少是您的 Java 程序无法控制的。

    由操作系统决定将数据包发送到何处。它将在配置为具有到目标 IP 的路由的接口上发送数据包 - 或在默认路由上发送。因此,您必须确保已正确配置操作系统,以便将 IP 数据包路由到您想要的位置,并且它只会在该接口上发送它们。

    【讨论】:

    • 嗯,所以您认为解决方案在操作系统的路由表中。这也是我的第一个想法,但我想创建更抽象的应用程序。我找到了download.oracle.com/javase/1.4.2/docs/api/java/net/…,但现在似乎有办法在 http 请求中指定网络接口。我不知道套接字在 Java 中是如何工作的。我是 Java 初学者。
    • @Petr Velký 是的。解决方案是操作系统路由表。 NetworkInterface 类与 HTTP 请求无关,也与如何为您的 IP 数据包指定网络接口无关。不过,接收请求是另一回事,有用于侦听特定 IP 地址(通常仅绑定到一个网络接口)上的传入连接的 API。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    相关资源
    最近更新 更多