TIPS > Net::HTTPでのopen_timeout設定

概要

Net::HTTPで通信する際、open_timeoutが設定できますが正しく設定しないとタイムアウトが効かないようです。

良い例

startで接続するためにその前にopen_timeoutを設定している。

- 良い例
require 'net/http'
 
http = Net::HTTP.new("yahoo.co.jp", 80)
http.open_timeout = 10
http.start do
  p response = http.get('/')
end
 

悪い例

startで接続した後にopen_timeoutを設定してしまっている。
ただ、ネット上では下記のようなコードが例として載せてある場合が多い。

- 悪い例
require 'net/http'
 
http = Net::HTTP.start("yahoo.co.jp", 80) do |http|
  http.open_timeout = 10
  p response = http.get('/')
end
 

参照URL

最終更新:2010年11月03日 10:51