const express = require("express"); const router = express.Router(); const crypto = require("node:crypto") const AreaNameEnum = require('../enums/AreaNameEnum'); const Rs6Service = require("./service/Rs6Service"); rs6Service = new Rs6Service() router.post('/rsCookie', async (req, res) => { let uuid = crypto.randomUUID().replace(/-/g, ""); 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`) } }) // 测试 handle // handle('https://app.yunnan.chinatax.gov.cn/xxmh/html/dfts/index_frame.html', // crypto.randomUUID().replace(/-/g, ""), // "yunnan", // '\n' + // '\n' + // '\n' + // '\n' + // '\n' + // '\n' + // '\n' + // '\n' + // '', // '94UkHqjsnpGlO=60fhuKFCJ238ngXbeFvuNpiZyZvK2HCOsbkRBi7WAk8COuYc2Jv1.twWrOJ3p.Pcu_rE0FYzg9PJ4CjTocIPJHPG; tpass_tc8td8ea8edn4be483f5a9ktd52599n5=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjY2N2ZlYmU5YTM3MDQ3ZTViN2NlYmQ2MDYxYmU5NDNlIn0.zgV3bl3lf54MfLiNQ4enrhpjn0amydMPChZ2Z1fGry9oYEvE5_PbJWTczoFDdBLFyTrPEEKhsMwrkK4DF_p1Tg; tpass_m7d4a8meca944da79ppdb4bef7d7795a=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImZlMDZhZjljOWZmMTQ2MmM5MmMwZjBiZjIzZWIxMGZiIn0.tlg4c2FMwvQJ8x8f6G7lZEhVQ1x6qJEs2GkykWlmbRZD7JZOJ7NO88dQToMifIxDvnqZ7jZbbLOv9w8Mt4eVDg; dzswjCookie=3829a119fd1852b650f8f854393032dd; SF_cookie_17=31743519; YqQ7a3SgknV8O=60FAYNp0FZHRnRctdl7QyufG1rNQ_oSO8eM3AZGHqUUiLrNOzIHJ5oR7XIz58K5Li3pPYsoQGEX1OVCEWhEx_poA; SYS_CHANNEL_ID=J4; JSESSIONID=7ED72361D29F104CFF195ECD33D6D23E; channelId=J4; DZSWJ_TGC=7ED72361D29F104CFF195ECD33D6D23E', // 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36' // ) module.exports = router