使用request抓取页面或者接口信息,返回不全?
问题描述
使用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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论