var http=require("http"); var crypto = require('crypto'); //md5("客户 ID|令牌密钥|年-月-日-时") // var result = md5.update('a').digest('hex'); // console.log(result) // var t= md5.update("123|8bbfb73c30bc09fe33f7addbe66ec13b|2015-06-24-13").digest('hex') // console.log(t=='05c646f9a7124965acd207e6b956ad49'); // 得到的令牌为: // 05c646f9a7124965acd207e6b956ad49 Date.prototype.Format = function (fmt) { var o = { 'M+': this.getMonth() + 1, 'd+': this.getDate(), 'H+': this.getHours(), 'm+': this.getMinutes(), 's+': this.getSeconds(), 'S+': this.getMilliseconds() }; //因为date.getFullYear()出来的结果是number类型的,所以为了让结果变成字符串型,下面有两种方法: if (/(y+)/.test(fmt)) { //第一种:利用字符串连接符“+”给date.getFullYear()+'',加一个空字符串便可以将number类型转换成字符串。 fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length)); } for (var k in o) { if (new RegExp('(' + k + ')').test(fmt)) { //第二种:使用String()类型进行强制数据类型转换String(date.getFullYear()),这种更容易理解。 fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (('00' + o[k]).substr(String(o[k]).length))); } } return fmt; }; Date.prototype.DateAdd = function(strInterval, Number) { var dtTmp = this; switch (strInterval) { case 's' :return new Date(Date.parse(dtTmp) + (1000 * Number)); case 'n' :return new Date(Date.parse(dtTmp) + (60000 * Number)); case 'h' :return new Date(Date.parse(dtTmp) + (3600000 * Number)); case 'd' :return new Date(Date.parse(dtTmp) + (86400000 * Number)); case 'w' :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number)); case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); case 'y' :return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); } } var request = require('request') var now=new Date().Format("yyyy-MM-dd-HH"); var keycode="c684fb8d2202ddebace919f86ae5992e"; var customeId=2910; var domain_id=7274; //域名固定 var category_id=8015 //地址池分类编号 // var token=md5.update(`${customeId}|${keycode}|${now}`).digest('hex'); function getToken(){ var now=new Date().Format("yyyy-MM-dd-HH"); var md5 = crypto.createHash('md5'); return md5.update(`${customeId}|${keycode}|${now}`).digest('hex'); } function httppostFile(url,formdata,callbackFunc,errorcallBackFunc){ request({ url: url, method: "POST", json: true, headers:formdata.getHeaders(), data: formdata }, function(error, response, ret) { if (!error && response.statusCode == 200) { // console.log(body) // 请求成功的处理逻辑 if(callbackFunc) callbackFunc(ret) }else { if(errorcallBackFunc) errorcallBackFunc(); } }); } function httprequest(url,requestData,callbackFunc,errorcallBackFunc){ request({ url: url, method: "POST", json: true, headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }, body: requestData }, function(error, response, ret) { if (!error && response.statusCode == 200) { // console.log(body) // 请求成功的处理逻辑 if(callbackFunc) callbackFunc(ret) }else { if(errorcallBackFunc) errorcallBackFunc(); } }); }; exports.httprequest=httprequest; exports.getToken=getToken; exports.customeId=customeId; // exports.token=token; exports.domain_id=domain_id exports.category_id=category_id