微信獲取 接收資訊

NO IMAGE
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

var PORT=8080; //監聽8080埠號 var http=require(‘http’); var qs=require(‘qs’); var TOKEN=’yezhenxu’; //必須與測試號所填寫的Token相同 function checkSignature(params,token){ var key=[token,params.timestamp,params.nonce].sort().join(”); //將token (自己設定的) 、timestamp(時間戳)、nonce(隨機數)三個引數進行字典排序 var sha1=require(‘crypto’).createHash(‘sha1’); //將上面三個字串拼接成一個字串再進行sha1加密 sha1.update(key); return sha1.digest(‘hex’) ==params.signature; //將加密後的字串與signature進行對比,若成功,返回echostr } var server=http.createServer(function (request,response) { var query=require(‘url’).parse(request.url).query; var params=qs.parse(query); console.log(params); console.log(“token :”,TOKEN); if(!checkSignature(params,TOKEN)){ //如果簽名不對,結束請求並返回 response.end(‘signature fail’); } if (request.method == “GET”) { //如果請求是GET,返回echostr用於通過伺服器有效校驗 response.end(params.echostr); }else{ //否則是微信給開發者伺服器的POST請求 var postdata=”; request.addListener(“data”,function(postchunk){ postdata =postchunk; }); //獲取到了POST資料 request.addListener(“end”,function(){ console.log(postdata); response.end(‘success ‘); }); } }); server.listen(PORT, function () { console.log(‘Server running at port:’ PORT); });

相關文章

前端開發 最新文章