1

savon を使用して、soap Web サービスと通信しています。それはすべてうまく機能し、プロキシ サーバーを経由する必要がある本番環境に Ruby コードを導入する必要があります。このプロキシ サーバーには認証が必要です。

私の質問は、savon でプロキシ サーバー認証の詳細を指定する方法を教えてください。

さらに詳しい情報:

プロキシサーバーを次のように指定できることがわかりました:

client = Savon::Client.new do
  ...
  http.proxy = "http://proxy.example.com"
end 

savon のコードを調べたところ、client ブロックの http 変数が次を参照していることがわかりました。

def http
  @http ||= HTTPI::Request.new
end

残念ながら、HTTPI::Request のコードを調べたところ、プロキシ自体の認証を指定する方法がわかりませんでした。httpi リクエストのコードは次のとおりです: https://github.com/rubiii/httpi/blob/master/lib/httpi/request.rb

明確にするために、私はHTTP認証をしようとしているのではなく、プロキシ認証を実行しようとしています。

プロキシ サーバーを指定すると、プロキシ認証資格情報を指定する方法が見つからないため、次のエラーが表示されます。

407 "プロキシ認証が必要です"

助けてくれてありがとう。

4

2 に答える 2

3

これを試してください:http.proxy = "http:// username:password @ host:port"

于 2012-06-25T19:52:51.837 に答える
1
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
于 2015-03-10T09:59:30.003 に答える