diff --git a/routes/Fp.js b/routes/Fp.js index ed9a34e..9152c0b 100644 --- a/routes/Fp.js +++ b/routes/Fp.js @@ -1,8 +1,9 @@ const express = require("express"); const router = express.Router(); +let UUIDUtil = require("../utils/UUIDUtil"); + const FpService = require("./service/FpService"); -let UUIDUtil = require("../utils/UUIDUtil"); fpService = new FpService() diff --git a/test/fp/test_fp_fetch.js b/test/fp/test_fp_fetch.js index 3fd0a6f..af15234 100644 --- a/test/fp/test_fp_fetch.js +++ b/test/fp/test_fp_fetch.js @@ -1,6 +1,8 @@ const {jsdomFromText, browser} = require("sdenv"); const {Script} = require("node:vm"); const fs = require("node:fs"); +const FpService = require("../../routes/service/FpService"); + var baseUrl = 'https://dppt.zhejiang.chinatax.gov.cn:8443' // TODO 需要文件内的 meta name="_y_ds" content 标签内容 @@ -9,6 +11,58 @@ let js = fs.readFileSync('./chunk-npjg4qgmmrfrjl3r.js', 'utf8').toString(); // TODO:用户登陆token 测试时需要替换 +var loginCookieStr = "je_ZDJWEB_yata=cXTzj3v4+3165323393-yalIYCJ05DN8B6DTPfDeM61T5CI3I4cC3FP75jwPnMkf_qB7HxhyG5GhzYkIFBPY244.rfe0MYTecRlwCLyS6hMgB0YU8cpPWr1b2rtLSs_qPWXEJ5kTXkuSh7UvS6hlEs9y.klvTS3UEFSS2519FfZYLksWJ4ztQhQPmahdJTf0jzMppNV4C6m4YPCyF4lh8cC3WxYbPmuCj_zoj9LhUsXuZyDIibMHc.5UiEa7DZyiKhye1k..MWZiAAxj4RkH2rzMQHRNdv_44gpJ_aziuG; tpass_b6edq5qqc5cb4c3288q6aq6fab5qc3b4=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImJiMWUyODM0NDFhMDQyMmM4NjFlNjVkNDAzOGM1MzliIn0.4Lig52xJVe4x4k9D92LZQta5zaIwq5HP4H1cF03ZIR6VUOY7BhncprybJSXI462SFaW3dCrCXXjFpsyQHPykHg; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%221920a3a0885434-06be597a22b1f88-11462c6f-2304000-1920a3a0887b9b%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%7D%2C%22identities%22%3A%22eyIkaWRlbnRpdHlfY29va2llX2lkIjoiMTkyMGEzYTA4ODU0MzQtMDZiZTU5N2EyMmIxZjg4LTExNDYyYzZmLTIzMDQwMDAtMTkyMGEzYTA4ODdiOWIifQ%3D%3D%22%2C%22history_login_id%22%3A%7B%22name%22%3A%22%22%2C%22value%22%3A%22%22%7D%2C%22%24device_id%22%3A%221920a3a0885434-06be597a22b1f88-11462c6f-2304000-1920a3a0887b9b%22%7D; oauth2_referer=etax.hubei.chinatax.gov.cn; znhd-ssotoken=d00fba1d7d73401b8aa2d008234df5b1; ZNHD_SECURITY_CHECK_TOKEN=939148dc70c1496b926904cc7326d909; tpass_n6s4de5cb89s4cf28997482cfnb7s4en=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjYyNDI5NzM0OTM1YjQyYmNhOTYwY2E4YzY3MTJiNmYzIn0.cQnl9J7wDlqrVeLjU3uAvC426DX44G54zYyMC7BegVevBmYnxPzJ8xUwdXzx9iAyllX8pg3SQSHuJvhAB30FRQ; dzfp-ssotoken=1f79917177a7489182ba5a9b66c4a783; SSO_SECURITY_CHECK_TOKEN=e133ba1f6f124599af5fa5262e1adf02; c_time=12; lzkqow39189=3b75ba15b15841b38729a471b94e74e2; DTSwUOYx7MiWN=35c13e79ebbc1ef1f265f177f1265336ac2db9dee59aeada8ffa27d8625d11c; lzkqow38189=1727077285706; MKls83gqduGS=babe09d5d2cce903861bbeb88282ebf939f78297e74f39c9b40e5bd349d5140eebbd3c92bac04d1ef79d04dfe0574a32" + +fpService = new FpService() + + +var url = `/szzhzz/cssSecurity/v1/getPublicKey?t=${new Date().getTime()}` +// TODO:如果有 param 加密后得到 enParam +var enParam = "" +// get_los(url, enParam); + + +get_los_test_service() +async function get_los_test_service(){ + let los = await fpService.get_los(url,enParam,html,loginCookieStr); + var getPublicKey = await fetch(`${baseUrl + los.hurl}`, { + "headers": { + "accept": "*/*", + "accept-language": "zh-CN,zh;q=0.9", + "cache-control": "no-cache", + "content-type": "text/plain;charset=UTF-8", + "lzkqow23819": `${los.hd}`, + // "bluewareguid": "d8fd3f2be1d8f629", + // "cache-contro": "no-store", + // "connection": "keep-alive", + // "content-length": "421", + // "date": "Mon, 23 Sep 2024 06:38:44 GMT", + // "pragma": "no-cache", + // "server": "Unknown", + // "x-content-options": "nosniff", + // "x-proxy-by": "Tif-accessgate", + // "x-xss-protection": "1;mode=block", + // "pragma": "no-cache", + // "sec-ch-ua": "\"Not)A;Brand\";v=\"99\", \"Google Chrome\";v=\"127\", \"Chromium\";v=\"127\"", + // "sec-ch-ua-mobile": "?0", + // "sec-ch-ua-platform": "\"Linux\"", + // "sec-fetch-dest": "empty", + // "sec-fetch-mode": "cors", + // "sec-fetch-site": "same-origin", + "sso_security_check_token": "e133ba1f6f124599af5fa5262e1adf02", + "x-requested-with": "XMLHttpRequest", + "cookie": cookieJar.getCookieStringSync(baseUrl), + // "Referer": "https://dppt.hubei.chinatax.gov.cn:8443/invoice-business?ruuid=1726970597058", + "Referrer-Policy": "strict-origin-when-cross-origin" + }, + "body": "", + "method": "POST" + }); + + + console.log('测试getPublicKey请求', await getPublicKey.json()) +} + var loginCookieStr = "tpass_tct8zta97w6c46zdt9zc2648227df5z2=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjA3NGE2NzEzZGE2ZjQ0YTFiMjA3ODRhZGM0MmUxNmM5In0.zgO2rco0oWhTgOX6tVbZVoLI_qysOfJ1fdlcghe8KyI3iUmFV_IuHvZINQWeSmKesyefAyOxWflWsbSzQiiOgw; oauth2_referer=tpass.zhejiang.chinatax.gov.cn; dzfp-ssotoken=4fa8538cee014e3b84f88ead04610dea; SSO_SECURITY_CHECK_TOKEN=bd1e0dc3898d4239af9c3b11dc8b7983; lzkqow39189=9ef06defe6d34ad7aba79ae8bbe419f8; DTSwUOYx7MiWN=dcf74815ad6d7fef22601131e58a180b8a80b714fe9224c72c6b881b3f42d8b3" async function get_los(url, param) { @@ -46,7 +100,9 @@ async function get_los(url, param) { // 关闭 dom.window.close() console.timeEnd('js执行时长') - // console.log(cookieJar.getCookieStringSync(baseUrl)) + console.log(cookieJar.getCookieStringSync(baseUrl)) + + var getPublicKey = await fetch(`${baseUrl + los.hurl}`, { "headers": { // "accept": "*/*",