使用request抓取页面或者接口信息,返回不全?

发布于 2022-09-07 22:16:09 字数 1655 浏览 9 评论 0

问题描述

使用ngrok代理内网服务。重启后地址会变化,所以想通过接口去动态的获取实时的 外网服务地址!

目前采用的request,并且附带了登录之后的cookie和相关header信息!,但是返回的富文本信息缺失!

问题出现的环境背景及自己尝试过哪些方法

采用nodeJs和request

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

exports.ngrok = function (params = {}) {
  return new Promise((resolve, reject) => {
    request({
      uri: params.url || 'https://dashboard.ngrok.com/status',
      method: params.type || params.method || 'get',
      header: {
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
        'Accept-Encoding': 'gzip, deflate, br',
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'Cache-Control': 'no-cache',
        'Connection': 'keep-alive',
        'Cookie': 'mycookie',
        'DNT': '1',
        'Host': 'dashboard.ngrok.com',
        'Pragma': 'no-cache',
        'Referer': 'https://dashboard.ngrok.com/get-started',
        'Upgrade-Insecure-Requests': '1',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
      }
    }, function (err, res, resBody) {
      console.log("=============== proxy ==========");
      console.log(err);
      console.log("=============== proxy _resBody ==========");
      console.log(resBody);
      

      if (err) {
        reject(resBody);
      } else {
        resolve(resBody);
      }
    })
  })
}

你期待的结果是什么?实际看到的错误信息又是什么?

期待和登录之后返回的页面内容一样(至少包含外网服务地址信息!)

实际情况返回的是缺失外网服务相关信息!

备注

图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文