我正在开展一个有以下需求的项目:
XX.YY.ZZ.WW是我无法控制的主持人。
我的服务器在同一个以太网接口上配置了IP A和IP B.我的项目使用Apache HttpClient。如有必要,可将其更改为其他内容。
根据我的TCP / IP知识,这很容易。只要我拥有IP,我应该能够将源IP地址更改为我想要的任何内容。但毕竟,我不是直接操纵IP数据包。我不知道如何使用HttpClient完成这项工作。
答案 0 :(得分:6)
final DefaultHttpClient httpClient = new DefaultHttpClient();
HttpParams params = httpClient.getParams();
params.setParameter(ConnRoutePNames.LOCAL_ADDRESS, InetAddress.getByName(IP_ADDRESS));
答案 1 :(得分:5)
您只需告诉HttpClient使用哪个网络接口即可。您可以使用连接属性执行此操作:
ConnRoutePNames.LOCAL_ADDRESS='ADDRESS A';
查看docs的第2.4节以获取完整说明。