我正在使用savon与soapweb服务进行通信。这一切都很好,我现在需要将ruby代码投入生产,我们必须通过代理服务器。此代理服务器需要身份验证。
所以我的问题是,如何使用savon指定代理服务器身份验证详细信息
更多信息:
我已经发现,你可以这样指定一个代理服务器:
client = Savon::Client.new do
...
http.proxy = "http://proxy.example.com"
end
通过查看savon的代码,我发现客户端块中的http变量引用了以下内容:
def http
@http ||= HTTPI::Request.new
end
不幸的是,通过HTTPI::Request的代码,我看不到为代理本身指定身份验证的方法。以下是httpi请求的代码:https://github.com/rubiii/httpi/blob/master/lib/httpi/request.rb
需要明确的是:我不是在尝试进行HTTP身份验证,而是在尝试执行代理身份验证。
在指定代理服务器时,我会收到以下错误,因为我找不到指定代理身份验证凭据的方法:
407"需要代理验证"
提前感谢您的帮助。
试试这个:http.proxy="http://username:password@host:port"
Managed to resolve it with the following code:
@proxy_path = '<insert your proxy url here>'
@wsdl_path = '<insert your wsdl url here>'
@client = Savon.client do |variable|
variable.proxy @proxy_path
variable.wsdl @wsdl_path
end
@client.operations #to list operations