2012-08-07 3 views
1

나는 Net :: HTTP, Excon, Typhoeus, Patron 및 EventMachine을 포함하여 다양한 어댑터를 래핑하는 Faraday을 사용하고 있습니다. 네트워크 인터페이스 (예 : en0 또는 en1)를 지정하고 싶습니다. 그러나 가능한지 또는 확실하지 않습니다. 나는 루비 레벨이나 리눅스 레벨에서 대답 할 수있다.Ruby의 패러데이와 네트워크 인터페이스를 지정하는 방법은 무엇입니까?

참고 : Making HTTP requests from different network interfaces with Ruby and Curb에 따르면 Curb으로 가능합니다.

답변

1

특정 네트워크 인터페이스에 바인딩 할 수 있는지 확실하지 않지만 패러데이를 사용하면 요청 옵션 :bind ~ {:host => "<your_ip>", :port => "<your_port>" }을 설정하여 최소한 IP 주소와 포트를 지정할 수 있습니다.

내가 em-http, em-synchrony를 알고있는 한, httpclient & 타이포 우스 어댑터는 이러한 설정을 존중합니다.

0

Typhoeus (패러데이를 사용하지 않음)와 특정 로컬 인터페이스에 바인딩하여이 문제를 보았습니다. 다음은 나를 위해 일했습니다 :

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