我使用的是法拉第它包装各种适配器,包括网:: HTTP,EXCON,百头巨怪,赞助人,和EventMachine的。 我想指定网络接口(例如en0
或en1
),但我不知道它是如何或是否是可能的。 我会开在Ruby的层次或Linux级别的答案。
注:根据从Ruby和路沿石不同的网络接口HTTP请求 ,这是可能的路沿石 。
我使用的是法拉第它包装各种适配器,包括网:: HTTP,EXCON,百头巨怪,赞助人,和EventMachine的。 我想指定网络接口(例如en0
或en1
),但我不知道它是如何或是否是可能的。 我会开在Ruby的层次或Linux级别的答案。
注:根据从Ruby和路沿石不同的网络接口HTTP请求 ,这是可能的路沿石 。
我认为它甚至可以做到这一点与法拉第和百头巨怪: https://github.com/typhoeus/typhoeus/blob/92d19df7af06034ae28996e097676b01301042f5/lib/typhoeus/adapters/faraday.rb#L139 。
不知道是否是能够绑定到特定的网络接口,但与法拉第可以设置请求选项:bind
到{:host => "<your_ip>", :port => "<your_port>" }
指定至少IP地址和端口。
据我所知EM-HTTP,EM-同步,HttpClient的&百头巨怪适配器尊重这些设置。
我碰到这个问题有百头巨怪(不使用法拉第)和绑定到特定的本地接口。 以下为我工作:
options = {
interface: '<ip address>'
}
req = Typhoeus::Request.new("https://example.com/3", options)