lib/http_crawler/client.rb in http_crawler-0.3.1.25 vs lib/http_crawler/client.rb in http_crawler-0.3.1.26

- old
+ new

@@ -204,10 +204,11 @@ begin Rails.logger.debug("开始获取代理IP") proxy_client = HttpCrawler::Proxy.for(proxy_api) proxy_r = proxy_client.get_proxy(proxy_params.symbolize_keys) proxy_ip = proxy_r.results unless proxy_r.results.blank? + proxy_ip = {p_addr: "127.0.0.1", p_port: 8888} if proxy_ip.blank? Rails.logger.warn "无最新代理等待5秒后重新获取:proxy 为空" else break end @@ -325,25 +326,24 @@ else raise "请求失败(#{r.code}):#{r.uri.to_s}" end rescue => error Rails.logger.debug error.class - case error - when HTTP::TimeoutError - # 超时错误切换代理 - if self.update_proxy? - retry - else - raise error - end + # 错误尝试次数 + if n <= 0 + # 错误尝试次数小于等于0就结束尝试 + raise error else - # 错误尝试次数 - if n <= 0 - raise error + # 每次错误次数尝试 -1 + n -= 1 + case error + when HTTP::TimeoutError + # 超时错误切换代理 + raise error unless self.update_proxy? else - n -= 1 - retry + raise error unless self.update_proxy? end + retry end end end # def request(&block) end end