lib/http_crawler/client.rb in http_crawler-0.3.1.13 vs lib/http_crawler/client.rb in http_crawler-0.3.1.14

- old
+ new

@@ -25,11 +25,41 @@ def for_uri(path) self.new(uri: path) end end + # + # init_uri 如果未初始化@uri,则会报错 + # 继承类需要重定义 init_uri + # + def initialize(parameter = {}) + parameter = parameter.symbolize_keys + parameter[:uri_or_path] = parameter[:url]||parameter[:uri] + + if parameter[:uri_or_path] + # 如果自定义uri + raise "Client uri为重复初始化" if uri + update_uri(parameter[:uri_or_path]) + else + # 初始化 uri + init_uri + end + + # 初始化超时时间 + init_timeout + + # 初始化 ssl 协议 + init_ssl unless uri.blank? + + # 初始化一些 client 自定义参数 + init_client + + # 初始化 代理参数 + @proxy_params = {key: "#{self.class.to_s.gsub(":","_")}"} + end + attr_accessor :max_error_num # 最大错误重试次数 def max_error_num @max_error_num ||= 1 end @@ -236,36 +266,9 @@ end h end - # - # init_uri 如果未初始化@uri,则会报错 - # 继承类需要重定义 init_uri - # - def initialize(parameter = {}) - parameter = parameter.symbolize_keys - # 初始化 uri - init_uri - - # 如果自定义uri - if parameter[:uri] - raise "Client uri为重复初始化" if uri - update_uri(parameter[:uri]) - end - - # 初始化超时时间 - init_timeout - - # 初始化 ssl 协议 - init_ssl - - # 初始化一些 client 自定义参数 - init_client - - # 初始化 代理参数 - @proxy_params = {key: "#{self.class.to_s.gsub(":","_")}"} - end # 发送 get 请求 def get(path, params = {}) raise "Client uri为空" unless self.uri request {http.get((self.uri + path).to_s, :params => params, :ssl_context => @ctx)}