同一台计算机上的多个IP地址,由一个程序启动,两个网卡



我有一个爬虫程序,它应该运行多个线程,每个线程使用不同的IP地址,大约同时运行10个线程。

是否有可能在运行Windows VII的机器上分配每个线程不同的IP地址?用Java程序?

如果是这样,可以通过使用具有多个nic的机器来实现吗?

我想在程序级别与这些不同的IP地址进行接口,这可行吗?

  • 如果你的程序直接使用Socket,你可以枚举所有的网络接口和它们的IP地址,并使用bind()或四个参数的Socket构造函数绑定到你喜欢的本地IP地址。

  • 如果你使用URLConnection,我不知道你可以指定一个本地地址在任何方式

  • 我不能为HttpClient说话,但是它有你可以参考的文档

  • 如果你用的是别的东西,这个乏味的猜测游戏将继续下去,直到你屈就向我们进一步透露它是什么。

您可以通过以下方式获得可用的网卡:

Enumeration<NetworkInterface> nics = NetworkInterface.getNetworkInterfaces();

你可以使用它们的inetaddress将你的线程绑定到一个特定的网卡。

相关内容

最新更新