2012-10-24 88 views
2

我想通過DNS服務器解析從Ruby腳本內發出的DNS請求,這與resolv.conf中的DNS服務器不同。雖然我可以通過使用Resolv :: DNS或類似的東西來做到這一點,但我希望爲所有請求(例如由RestClient發佈的請求)做到這一點。有任何想法嗎?Ruby:通過自定義dns服務器強制DNS解析

+0

的[我可以修改DNS設置了一個Ruby on Rails應用程序可能重複? ](http://stackoverflow.com/questions/18898330/can-i-modify-dns-settings-for-a-ruby-on-rails-app) –

回答

0

RESTClient實現使用net/http和使用所提供的URL的主機名部分打開一個TCP套接字:

https://github.com/ruby/ruby/blob/trunk/lib/net/http.rb?source=cc#L879

改變其主機被訪問時手動更改URL中使用的最簡單的方法IP地址通過自己執行查找。

另外,可以更換各種*Socket類的解析器,居然有一個如何做到這一點這裏一個例子:https://github.com/ruby/ruby/blob/4c2304f0004e9f1784540f3d36976aad9eab1f68/lib/resolv-replace.rb