如何指定与Ruby的法拉第网络接口?(How to specify network interfac

2019-10-17 03:11发布

我使用的是法拉第它包装各种适配器,包括网:: HTTP,EXCON,百头巨怪,赞助人,和EventMachine的。 我想指定网络接口(例如en0en1 ),但我不知道它是如何或是否是可能的。 我会开在Ruby的层次或Linux级别的答案。

注:根据从Ruby和路沿石不同的网络接口HTTP请求 ,这是可能的路沿石 。

Answer 1:

我认为它甚至可以做到这一点与法拉第和百头巨怪: https://github.com/typhoeus/typhoeus/blob/92d19df7af06034ae28996e097676b01301042f5/lib/typhoeus/adapters/faraday.rb#L139 。



Answer 2:

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

据我所知EM-HTTP,EM-同步,HttpClient的&百头巨怪适配器尊重这些设置。



Answer 3:

我碰到这个问题有百头巨怪(不使用法拉第)和绑定到特定的本地接口。 以下为我工作:

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


文章来源: How to specify network interface with Ruby's Faraday?