You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

57 lines
1.9 KiB

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 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, 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