class HaoboSms::Sms
这个类所有方法, 返回为空{},表示请求异常
Public Class Methods
new()
click to toggle source
# File lib/haobo_sms/sms.rb, line 13 def initialize() @config = HaoboSms::Config.instance end
Public Instance Methods
get_remain()
click to toggle source
查询剩余条数 { op: “bi”, bl: 33 }
# File lib/haobo_sms/sms.rb, line 47 def get_remain() option = {} option["un"] = @config.user_name option["pw"] = @config.pass_word uri = URI(@config.balance_url) uri.query = URI.encode_www_form(option) res = Net::HTTP.get_response(uri) if res.is_a? Net::HTTPSuccess body = res.body result = HaoboSms::Util.parse_query_str(body) else result = {} end return result.with_indifferent_access end
get_report(option_hash = {})
click to toggle source
获取状态报告 可传参数fs: 请求长度 返回数组[ { id: , su: , rp: } ]
# File lib/haobo_sms/sms.rb, line 70 def get_report(option_hash = {}) option = option_hash.stringify_keys option["un"] = @config.user_name option["pw"] = @config.pass_word uri = URI(@config.receive_url) uri.query = URI.encode_www_form(option) res = Net::HTTP.get_response(uri) result = { rpts: [] } if res.is_a? Net::HTTPSuccess res.body.split("\r\n").each do |query_str| hash = HaoboSms::Util.parse_query_str(query_str) if hash["op"] == "dr" result[:rpts] << hash end end else result = {} end return result.with_indifferent_access end
send_sms(phone, message)
click to toggle source
发送短信 { rp: 0, id: }
# File lib/haobo_sms/sms.rb, line 19 def send_sms(phone, message) # 将短信正文转换为gb18030并转换为16进制 content = (@config.pre_str + message).encode("gb18030").unpack("H*") option = {} option["un"] = @config.user_name option["pw"] = @config.pass_word option["da"] = phone option["sm"] = content option["dc"] = "15" option["rd"] = "1" uri = URI(@config.send_url) uri.query = URI.encode_www_form(option) res = Net::HTTP.get_response(uri) if res.is_a? Net::HTTPSuccess body = res.body result = HaoboSms::Util.parse_query_str(body) else result = {} end return result.with_indifferent_access end