2014-11-27 4 views
1

Curl имеет опцию, которая позволяет мне указать, к какой IP домен должен быть решенЭтон - Действительно решительность формат опция

e.g. curl --resolve example.com:443:1.2.3.4 https://example.com/foo

, чтобы убедиться, что очень конкретный сервер называется (например, когда несколько серверы имеют тот же самый vhost с балансировщиком нагрузки, который обычно находится перед ним, и есть несколько приложений, работающих на одном и том же порту с разными vhosts)

Как установить это значение при использовании Ethon? https://github.com/typhoeus/ethon

Это, как я бы ожидать, что она работает

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

, но я получаю исключение недопустимого значения (я пробовал несколько различных форматы, которые пришли на ум)

Ethon::Errors::InvalidValue: The value: example.com:443:1.2.3.4 is invalid for option: resolve.

Я взглянул на код, но не мог понять, как мне нужно предоставить значение - и документация на этом немного скудна

Заранее спасибо за любой ответ, который может мне точку в правильном направлении

ответ

0

Благодаря i0rek на Github я получил ответ, который я искал:

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", ...> 

Дополнительную информацию можно найти здесь: https://github.com/typhoeus/ethon/issues/95#event-199961240

 Смежные вопросы

  • Нет связанных вопросов^_^