如何用Ruby的法拉第指定网络接口?

时间:2012-08-07 21:54:27

标签: ruby networking curb faraday

我正在使用包含各种适配器的Faraday,包括Net :: HTTP,Excon,Typhoeus,Patron和EventMachine。我想指定网络接口(例如en0en1),但我不确定如何或是否可能。我愿意接受Ruby级别或Linux级别的答案。

注意:根据Making HTTP requests from different network interfaces with Ruby and CurbCurb可以实现这一点。

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

不确定是否可以绑定到特定的网络接口,但是使用法拉第,您可以将请求选项:bind设置为{:host => "<your_ip>", :port => "<your_port>" }以指定至少IP地址和端口。

据我所知em-http,em-synchrony,httpclient&amp; typhoeus适配器尊重这些设置。

答案 2 :(得分:0)

我遇到Typhoeus这个问题(不使用法拉第)并绑定到特定的本地接口。以下对我有用:

options = {
  interface: '<ip address>'
}
req = Typhoeus::Request.new("https://example.com/3", options)