1.抛出时间异常
begin
resp, body=3Dh.get('/index.html')
puts body
rescue Timeout::Error => e
puts "Timed Out"
end
2.自己定时间,抛出时间异常
require 'timeout'
...
...
...
begin
timeout(60) do
resp, body=3Dh.get('/index.html')
puts body
end
rescue TimeoutError
puts "Timed Out"
end
3.http请求时,抛出时间异常
require 'net/http'
require 'net/https'
#Usage: username pass urlStr time_out
#
urlStr = 'http://localhost:3000/cron/cron'
username = "badname"
pass = "badpass"
time_out = 60
if ARGV[3] != nil
time_out = ARGV[3].to_i
end
if ARGV[2] != nil
urlStr = ARGV[2]
end
if ARGV[1] != nil and ARGV[0] != nil
username = ARGV[0]
pass = ARGV[1]
end
puts urlStr + " user: "+username
url = URI.parse(urlStr)
use_ssl = url.scheme == 'https'
req = Net::HTTP::Get.new url.path
req.basic_auth username, pass
http = Net::HTTP.new(url.host, url.port)
http.read_timeout=time_out
if use_ssl
http.use_ssl = true
end
res = http.start { |web|
web.request(req)
}
puts res.body