const express = require("express"); const router = express.Router(); const AreaNameEnum = require('../enums/AreaNameEnum'); let UUIDUtil = require("../utils/UUIDUtil"); const Rs6Service = require("./service/Rs6Service"); rs6Service = new Rs6Service() router.post('/rsCookie', async (req, res) => { let uuid = UUIDUtil.uuid; let start = new Date(); try { let url = req.body['url']; let areaName = req.body['areaName']; let htmlBase64 = req.body['htmlBase64']; let cookieBase64 = req.body['cookieBase64']; let userAgentBase64 = req.body['userAgentBase64']; console.log(`${uuid};接收到 ${areaName} 请求:${url}`) // 参数判断 let areaCode = AreaNameEnum.getByAreaName(areaName).AREA_CODE; if (areaCode == null) { return res.status(500).send('error areaCode') } if (url == null || url === '') { return res.status(500).send('error url') } if (htmlBase64 == null || htmlBase64 === '') { return res.status(500).send('error html') } // 参数处理 let htmlStr = Buffer.from(htmlBase64, 'base64').toString('utf-8'); let cookieStr = null; if (cookieBase64 != null && cookieBase64 !== '') { cookieStr = Buffer.from(cookieBase64, 'base64').toString('utf-8'); } let userAgent = null; if (userAgentBase64 != null && userAgentBase64 !== "") { userAgent = Buffer.from(userAgentBase64, 'base64').toString('utf-8'); } // 执行 let cookies = await rs6Service.handle(url, uuid, areaName, htmlStr, cookieStr, userAgent) console.log(`${uuid};返回cookie ---->`, cookies) res.status(200).send(cookies); } catch (e) { console.error(e.stack) return res.status(500).send(e.message) } finally { console.log(`${uuid};rsCookie ${new Date() - start} ms`) } }) module.exports = router