class Baidupush::Base
Constants
- DEFAULT_CONFIG
初始化百度推送配置
Public Class Methods
get_sign(params,secertkey,url_method,url)
click to toggle source
# File lib/Baidupush/base.rb, line 28 def self.get_sign(params,secertkey,url_method,url) str = "#{url_method}#{url}" _params = {} keys = params.keys keys = keys.sort keys.each do |key| str += "#{key}=#{params[key]}" end str += "#{secertkey}" #p "**STR:#{str}" str = CGI::escape(str) #p "**Str: #{str}" sign = Digest::MD5.hexdigest(str) sign end
http_get(url,args)
click to toggle source
# File lib/Baidupush/base.rb, line 70 def self.http_get(url,args) uri = URI.parse(url) uri.query = URI.encode_www_form(args) http = Net::HTTP.new(uri.host, uri.port) request = Net::HTTP::Get.new(uri.request_uri) time_start = Time.now.to_i response = http.request(request) time_end = Time.now.to_i response.body end
http_post(url,args)
click to toggle source
# File lib/Baidupush/base.rb, line 57 def self.http_post(url,args) uri = URI.parse(url) https=Net::HTTP.new(uri.host,uri.port) req = Net::HTTP::Post.new(uri.path) req.set_form_data(args) time_start = Time.now.to_i p "req : #{req.body}" res = https.request(req) time_end = Time.now.to_i res.body end
https_get(url,args)
click to toggle source
# File lib/Baidupush/base.rb, line 44 def self.https_get(url,args) uri = URI.parse(url) uri.query = URI.encode_www_form(args) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = false http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(uri.request_uri) time_start = Time.now.to_i response = http.request(request) time_end = Time.now.to_i response.body end
https_post(url,args)
click to toggle source
# File lib/Baidupush/base.rb, line 81 def self.https_post(url,args) uri = URI.parse(url) https=Net::HTTP.new(uri.host,uri.port) https.use_ssl=true https.verify_mode = OpenSSL::SSL::VERIFY_NONE req = Net::HTTP::Post.new(uri.path) req.set_form_data(args) res = https.request(req) res.body end
load_config()
click to toggle source
获取配置信息 Example:
>> Base.load_config => {"name"=>"测试推送","secret_key"=>"","api_key"=>""}
# File lib/Baidupush/base.rb, line 18 def self.load_config path = Rails.root.join("config",'baidu_cloud_push.yml') config = YAML.load(path) DEFAULT_CONFIG.keys.each do |key| unless config[key.to_s] raise BaseError.new(BaseError.missing_parameters,"缺少参数:#{key.to_s}") end end end