NODE.JS怎么给手机发短信对接验证码短信接口DEMO示例

发现一个超简单验证码短信接口对接DEMO示例

步骤

1.注册 互亿无线 账号

2.查找APIID和APIKEY

3.代码的书写

注册 互亿无线 账号

网站: http://user.ihuyi.com/?JA9Ewr

查找APIID和APIKEY

NODE.JS怎么给手机发短信对接验证码短信接口DEMO示例

注意事项:

(1)调试期间,请使用用系统默认的短信内容:您的验证码是:【变量】。请不要把验证码泄露给其他人。

/**

* 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;

 

上一篇:Ubuntu18.04服务器安装mysql,亲测有效


下一篇:设计模式:DRY原则,提高代码的复用性