如何告诉java使用特定的传出ip接口来获取http请求?

有没有人知道在java中强制传出的http请求通过特定(逻辑)ip地址的快速方法?

我正在考虑使用Apache HTTP客户端(http组件的一部分),这肯定有足够的方法来实现它,但API看起来并不简单。 有没有人用它做过类似的事情?

谢谢。

这有帮助吗?

如何使JVM默认使用给定的源IP?

socket.connect(endpoint)之前使用socket.bind(bindpoint) socket.connect(endpoint)

bindpointendpoint可以是InetSocketAddress

http.route.local-address参数是你的朋友[1]。 或者,您可能希望实现自定义HttpRoutePlanner ,以便完全控制路由计算过程并使用某种策略为本地接口分配连接。

[1] http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html#d4e501