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