首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

open-uri-open()

2012-08-15 
open-uri------open()一个带异常处理的open...Ruby代码def safe_open(url, retries 5, sleeep 0.42, h

open-uri------open()
一个带异常处理的open...

Ruby代码 
def safe_open(url, retries = 5, sleeep = 0.42, headers = {}) 
    begin 
      open(url, headers).read 
    rescue StandardError,Timeout::Error, SystemCallError, Errno::ECONNREFUSED #有些异常不是标准异常 
      puts $! 
      retries -= 1 
 
      if retries > 0 
        sleep sleeep and retry 
      else 
        #TODO Logging.. 
        #TODO 多次爬取失败后记录到日志 
      end 
 
    end 
  end 

要先 require 'timeout'

热点排行