3

我想通过 DNS 服务器解析从 Ruby 脚本中发出的 DNS 请求,这与 resolv.conf 中的请求不同。虽然我可以通过使用 Resolv::DNS 或类似的东西手动执行此操作,但我想对所有请求(例如,由 RestClient 发出的请求)执行此操作。有任何想法吗?

4

1 回答 1

-1

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

于 2014-02-02T14:09:31.477 回答