怎么对接NODE.JS语言短信验证码接口?

本文提供NODE.JS语言的短信验证码接口对接DEMO,适用于开发语言为NODE.JS的后端开发者。示例中包含互亿无线触发短信接口的使用方法,包括账户注册、调试注意事项和APIkey的获取。
摘要由CSDN通过智能技术生成

本文为您提供了NODE.JS语言版本的验证码短信接口对接DEMO示例
/* *

  • 接口类型:互亿无线触发短信接口,支持发送验证码短信、订单通知短信等。
  • 账户注册:请通过该地址开通账户 http://user.ihuyi.com/?DKimmu
  • 注意事项:
    *(1)调试期间,请使用用系统默认的短信内容:您的验证码是:【变量】。请不要把验证码泄露给其他人。
    *(2)请使用 用户名 及 APIkey来调用接口,APIkey在会员中心可以获取;
    *(3)该代码仅供接入互亿无线短信接口参考使用,客户可根据实际需要自行编写;
*/
 
/**
 * Created by XadillaX on 14-2-12.
 * https://github.com/XadillaX/ihuyi106js
 */
String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {
    if (!RegExp.prototype.isPrototypeOf(reallyDo)) {
        return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith);
    } else {
        return this.replace(reallyDo, replaceWith);
    }
};
 
var dom = require('xmldom').DOMParser;
 
var _baseUri = "http://106.ihuyi.com/webservice/sms.php?method=Submit";
var _userAgent = "node-ihuyi106-module by 死月 (admin@xcoder.in)";
 
/**
 * iHuyi constructure.
 * @param account
 * @param password 查看密码请登录用户中心->验证码、通知短信->帐户及签名设置->APIKEY
 */
var iHuyi = function(account, password) {
    this.spidex = require("spidex");
    this.spidex.setDefaultUserAgent(_userAgent);
 
    this.account = account;
    this.password = password;
};
 
/**
 * send an SMS.
 * @param mobile
 * @param content
 * @param callback
 */
iHuyi.prototype.send = function(mobile, content, callback) {
    var data = {
        account         : this.account,
        password        : this.password,
        mobile          : mobile,
        content         : content
    };
 
    this.spidex.post(_baseUri, function(html, status) {
        if(status !== 200) {
            callback(new Error("短信发送服务器响应失败。"));
            return;
        }
 
        html = html.replaceAll("\r", "");
        html = html.replaceAll("\n", "");
        html = html.replaceAll(" xmlns=\"http://106.ihuyi.com/\"", "");
 
        //console.log(html);
        var doc = new dom().parseFromString(html);
        var result = doc.lastChild;
        var json = {};
        for(var node = result.firstChild; node !== null; node = node.nextSibling) {
            json[node.tagName] = node.firstChild.data;
        }
 
        //console.log(json);
        if(json.code == "2") {
            callback(null, json.smsid);
        } else {
            callback(new Error(json.msg, parseInt(json.code)));
        }
    }, data, "utf8").on("err", function(e) {
        callback(e);
    });
};
 
module.exports = iHuyi;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值