1

プロキシを通過するリクエストのオープン/読み取りタイムアウトを設定する方法を知っています。ただし、私の問題は、プロキシがダウンすることがあるため、プロキシに接続できないことです。したがって、プロキシに接続するためのタイムアウトをある値に設定してから、別のことを試してタイムアウトを処理できるようにしたいと思います。httpプロキシに接続するためのタイムアウト値を設定する方法はありますか?ありがとう!

4

1 に答える 1

0

最初にコード、次に以下に少し説明します。

# get an instance of Net::HTTP that has proxy settings embedded
# see the source:  http://ruby-doc.org/stdlib-1.9.3/libdoc/net/http/rdoc/Net/HTTP.html#method-c-Proxy
proxyclass = Net::HTTP::Proxy("proxy_host");

# Create a new instance of the URL you want to connect to
# NOTE: no connection is attempted yet
proxyinstance = proxyclass.new("google.com");

# Make your setting changes, specifically the timeouts
proxyinstance.open_timeout = 5;
proxyinstance.read_timeout = 5;

# now, attempt connecting through the proxy with the desired
# timeout settings.
proxyinstance.start do |http|
    # do something with the http instance
end

キーはインスタンス変数であり、open_timeout実際には装飾されたクラスを返します。 read_timeoutNet::HTTP::ProxyNet::HTTP

同様の使用法で、この同じ問題に遭遇するでしょうNet::HTTPNet::HTTP.start()クラスメソッドのショートカットを使用せずに、「長い」方法で構築する必要があります。

于 2013-01-28T03:21:05.603 に答える