点击按钮给手机发送短信怎么实现 用javascript 或者其他语言都可以

JavaScript08

点击按钮给手机发送短信怎么实现 用javascript 或者其他语言都可以,第1张

js只能当作用户前端,除非你弄node.js ,在这里不考虑

具体就是js获取输入的手机号和内容,然后判断输入是否准确,比如手机号位数和短信字数

用js给提交按钮绑定事件进行ajax post数据传输给后台,或者直接用submit按钮进行表单提交。

后台获取数据后,通过某些端口与运营商通讯,然后发送短信。

你单纯一个服务器肯定没法发短信啊,还要有硬件,就要去移动啦电信啦联通啦买一些服务,调用他们的服务发送。

当然你买个发送短信的硬件插服务器上也行,不一定稳定,也不一定合法。。。

参考如下实例代码:

self.sendAliMessage = function(req,res){

var param = {

'Action': 'SingleSendSms',

'SignName' : 'xxxx', //短信签名名称

'TemplateCode' : 'SMS_1635xxxx',

'RecNum': '13564096???', //手机号

'ParamString' : JSON.stringify({"code":"9527"}),//验证码模板里的变量

'Version' : '2016-09-27',

'Format': 'JSON',

'AccessKeyId' : ali_access_key_id,

'SignatureMethod' : 'HMAC-SHA1',

'SignatureVersion' : '1.0',

'SignatureNonce': randomstr(9), //随机数

'Timestamp' : new Date().toISOString(),

}

param.Signature = sign.signForAliMessage(param, ali_access_key_secret)

var api_url = 'https://sms.aliyuncs.com/'

request.post({

url: api_url,

headers: {

'Content-Type':'application/x-www-form-urlencoded'

},

form:param

},function(err,response,data){

var result

data = JSON.parse(data)

if (!err &&data.Model) {

result = res.returnData(200)

}else{

result = res.returnData(113)

}

res.send(result)

})

}

/*签名方法*/

sign.signForAliMessage = function(src_sign,access_key_secret){

var param , qstring = []

var oa = Object.keys(src_sign).sort() , on = {}

for(var i=0i<oa.lengthi++){

on[oa] = src_sign[oa]

}

param = on

for(var key in param){

qstring.push(encodeURIComponent(key)+'='+encodeURIComponent(param[key]))

}

qstring = qstring.join('&')

var StringToSign = 'POST'+'&'+encodeURIComponent('/')+'&'+encodeURIComponent(qstring)

access_key_secret = access_key_secret+'&'

var signature = crypto.createHmac('sha1', access_key_secret).update(new Buffer(StringToSign, 'utf-8')).digest('base64')

return signature

}