You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Express JS中GET请求重复发送两次的问题排查求助

问题根因

你遇到的请求重复调用问题,根源是makePngScreenshot方法对同一个目标URL发起了两次GET请求:

  • 第一次是代码中主动调用的axios.get(url, null)
  • 第二次是Pageres工具执行src()方法加载页面截图时,内部自动发起的HTTP请求

19个meter元素每个触发2次请求,刚好对应38次路由日志打印。

修复方案

如果你写axios.get的目的只是提前触发页面生成、没有其他额外业务逻辑,直接删除这行冗余代码即可,Pageres加载URL时会自动完成页面请求:

async makePngScreenshot(recap, url, meterId, filename) {
        // 移除多余的axios.get调用
        const destination = "public/images/" + recap.operation.name + "/" + recap.date_ini + "_" + recap.date_end + "/" + meterId
        return new Pageres({ delay: 2, filename: filename })
            .src(url, ['1300x650'], { crop: true })
            .dest(destination)
            .run()
}

额外注意项

你当前的GET路由没有返回响应的逻辑,长时间挂起可能会触发请求超时,建议补充res.end()或者对应页面返回逻辑,避免Pageres截图失败。


内容的提问来源于stack exchange,提问作者Juliatzin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 09:27:01