//公司经常需要签到,之前用py写了个签到的脚本,这次改用node去尝试;(纯属娱乐,顺道记录一下 node 的http请求 get && post 以及如何传参)
var request = require("request"); //引入md5 var md5=require('md5-node'); Date.prototype.Format = function(fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "H+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; }; function login(_user, _pass) { //登录操作 var _ajax = new Promise(resolve => { request.post("http://www.bluebird.oobg.cn/bluebird/user/login",{form: {uname: _user , pass: md5(_pass)}}, function (error, response, body) { var _body = JSON.parse(body); if (_body.r == 1){ resolve(_body); } }); }); var _signDate = new Date().Format("yyyy-MM-dd"); //签到操作 _ajax.then(_res => { request.get('https://bluebird.oobg.cn/do/do.php', { qs: { 'SID': _res.data.SID, 'c': '131', 'ti': _signDate } }, function (error, response, body) { var _return = JSON.parse(body); console.log(_return); }); }); } login("你的用户名", "你的密码");