Ruby Ethon-有效的解析选项格式

Ruby Ethon-有效的解析选项格式,ruby,typhoeus,Ruby,Typhoeus,Curl有一个选项,允许我指定域应该解析到哪个IP 例如curl--resolve example.com:443:1.2.3.4https://example.com/foo 确保调用非常特定的服务器 (例如,当多台服务器具有相同的vhost,并且通常在其前面有一个负载平衡器,并且有多个应用程序在具有不同vhost的同一端口上运行时) 使用Ethon时如何设置此值 这就是我所期望的工作方式 Ethon::Easy.new(url:https://example.com/foo“,:resolv

Curl有一个选项,允许我指定域应该解析到哪个IP

例如curl--resolve example.com:443:1.2.3.4https://example.com/foo

确保调用非常特定的服务器 (例如,当多台服务器具有相同的vhost,并且通常在其前面有一个负载平衡器,并且有多个应用程序在具有不同vhost的同一端口上运行时)

使用Ethon时如何设置此值

这就是我所期望的工作方式

Ethon::Easy.new(url:https://example.com/foo“,:resolve=>“example.com:443:1.2.3.4”)

但是我得到了一个无效值异常(我尝试了多种不同的格式)

Ethon::Errors::InvalidValue:值:example.com:443:1.2.3.4对于选项:resolve无效。

我看了一下代码,但不知道如何才能提供价值——关于这方面的文档有点少


提前感谢您的回复,这些回复可能为我指明了正确的方向

感谢Github上的i0rek,我得到了我想要的答案:

resolve = nil
Ethon::Curl.slist_append(resolve, "example.com:443:1.2.3.4")
e = Ethon::Easy.new(url: "https://example.com/foo", :resolve => resolve)
#=> #<Ethon::Easy:0x007faca2574f30 @url="https://example.com/foo", ...>
resolve=nil
Ethon::Curl.slist_append(解析,“example.com:443:1.2.3.4”)
e=Ethon::Easy.new(url:)https://example.com/foo“,:resolve=>resolve)
#=> #
更多信息可在此处找到: