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)}