微信獲取 接收信息

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); });
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章