[bigdata-107] node.js的安装并实现一个运营商报告的提交功能
发布时间:2020-12-14 03:27:13 所属栏目:大数据 来源:网络整理
导读:1. 下载 https://nodejs.org/dist/v6.11.0/node-v6.11.0-linux-x64.tar.xz 2. 安装 将node-v6.11.0-linux-x64.tar.xz解压缩到~/usr/node.js目录 在/etc/profile加上一行代码 export PATH=$PATH:/home/brian/usr/nodejs/node-v6.11.0-linux-x64/bin 然后执行
1. 下载
https://nodejs.org/dist/v6.11.0/node-v6.11.0-linux-x64.tar.xz 2. 安装 将node-v6.11.0-linux-x64.tar.xz解压缩到~/usr/node.js目录 在/etc/profile加上一行代码 export PATH=$PATH:/home/brian/usr/nodejs/node-v6.11.0-linux-x64/bin 然后执行 . /etc/profile 执行: node -v npm -v 都有输出,表明安装成功。 3.用node.js执行一个hello world的hello.js ---------------------------- const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req,res) => { res.statusCode = 200; res.setHeader('Content-Type','text/plain'); res.end('Hello Worldn'); }); server.listen(port,hostname,() => { console.log(`Server running at http://${hostname}:${port}/`); });---------------------------- 执行 node hello.js,然后在浏览器打开地址http://127.0.0.1:3000既可 4. 运营商报告demo,只实现了任务提交 var http = require('http'); var url = require('url'); var util = require('util'); //需要安装 npm install crypto-js var CryptoJS = require('crypto-js'); //系统分配的key,请用您的api_key替换该api_key const api_key = '4115871262068366' //系统分配的secret,请用您的api_secret替换该api_secret const api_secret = '1G7TxxMmOqW7w4BkR6XxaRoNzWrLaR66' //调用url地址 const api_url = 'http://api.tanzhishuju.com/api/gateway' //http请求timeout为100秒 const HTTP_TIME_OUT = 100 var params = { //公共参数 'apiKey':api_key,'version':'1.0.0',//业务参数 'method': 'api.mobile.report','username':'1871798888',//待查用户手机号,请用新值替换 'password':'778888',//待查用户手机号的运营商密码,请用新值替换 'trueName':'陈XX',//待查用户的身份证,请用新值替换 'idCard':'370502888888888888',//待查用户的身份证号码 'userProvince':'上海',//待查用户所在省份/直辖市/自治区名称 这里需要一个允许值列表 'userCity':'上海',//待查用户所在城市名称 这里需要一个允许值列表 'userAddress':'兴路217号'//待查用户居住地详细地址,请用新值替换 } //对密码进行base64编码 params['password'] = new Buffer(params['password']).toString('base64') //对参数进行排序生成校验sign var n = 0; for (var i in params){ n+=1; } var ps = new Array(n); var i = 0; for (var ii in params){ ps[i] = ii; i += 1; } ps.sort(); //拼接字符串 var request_str = ''; for (var i in ps){ request_str += ps[i]+'='+params[ps[i]]+'&'; } //去掉最后一个&符号 request_str = request_str.slice(0,-1); //给字符串增加api_secret request_str += api_secret //生成校验码 params['sign'] = CryptoJS.SHA1(request_str).toString(); console.log(params['sign']); //http psot 提交任务 var params = require('querystring').stringify(params) //提交参数 var options = { host: 'api.tanzhishuju.com',port: 80,path: '/api/gateway',method: 'post',headers: { 'Content-Type': 'application/x-www-form-urlencoded','Content-Length': Buffer.byteLength(params) } }; //使用http 发送 var req = http.request(options,function(res) { console.log('STATUS: ' + res.statusCode); console.log('HEADERS: ' + JSON.stringify(res.headers)); //设置字符编码 res.setEncoding('utf8'); //返回数据流 var _data=""; //数据 res.on('data',function (chunk) { _data+=chunk; console.log('BODY: ' + chunk); }); // 结束回调 res.on('end',function(){ console.log("REBOAK:",_data); }); }); req.write(params); req.end(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |