如何使用libcurl在多个NIC上路由客户端HTTP请求

时间:2014-08-18 07:54:31

标签: http ubuntu libcurl nic

在Ubuntu机器上,我想知道是否有办法通过多个网络接口卡(NIC)将路由特定的HTTP请求发送到同一台服务器 - 比如一个视频提供商。

我听说过link bonding,但这似乎超出了应用代码的控制范围。可以使用libcurl来执行此任务吗?

我想我可以检查系统配置以检测多个网卡,但是如何翻译一个地址以便从特定接口读取?

1 个答案:

答案 0 :(得分:2)

通常,传出接口取决于您的路由表。

Curl支持selecting the outgoing interface

--interface <name>

Perform an operation using a specified interface. You can enter interface name, IP address or host name. An example could look like:

 curl --interface eth0:1 http://www.netscape.com/

If this option is used several times, the last one will be used. 

如果要对同一操作使用多个接口(如您提到的文章中所述),则需要包ifenslave-2.6。 Google列出了很多教程如何使用它。