收藏
回答

请教,云函数怎样使用request({})获取网页数据?

最近在使用云函数的request({})获取网页数据,遇到问题,云函数代码如下:

// 云函数入口文件

const cloud = require('wx-server-sdk')

var myurl = 'https://data.gtimg.cn/flashdata/hushen/latest/daily/sz000001.js?maxage=43201&visitDstTime=1'

cloud.init({

// API 调用都保持和云函数当前所在环境一致

env: cloud.DYNAMIC_CURRENT_ENV

})

// 云函数入口函数

exports.main = async (event, context) => {

const wxContext = cloud.getWXContext()

var request = require('request')

return  request({

url: myurl,

})

}

在index.js获取云函数返回值的代码:

wx.cloud.callFunction({

name: 'analysisFunction',

data: {},

success: res =>{

console.log('analysisFunction调用成功: ', res)

// wx.request({

//   url:'https://data.gtimg.cn/flashdata/hushen/latest/daily/sz000001.js?maxage=43201&visitDstTime=1',

//   success(res) {

//     console.log(res.data)

//   }

// })

},

fail: err =>{

console.error('analysisFunction调用失败:', err)

}

})

打印出来的信息如下:

  1. analysisFunction调用成功:

  2. errMsg"cloud.callFunction:ok"

  3. requestID"3e63ffe0-14d7-11ea-9d68-52540047de0f"

  4. result:

    1. headers{host"data.gtimg.cn"}

    2. method"GET"

    3. uri{protocol"https:"slashestrueauthnullhost"data.gtimg.cn"port443, …}

    4. __proto__Object

  5. __proto__Object

请问一下,返回的信息result里怎么没有从网页获取到的数据呢?如果使用wx.request({})方法在index.js里获取网页数据就能正常返回,代码如下:

wx.request({

  url:'https://data.gtimg.cn/flashdata/hushen/latest/daily/sz000001.js?maxage=43201&visitDstTime=1',

  success(res) {

    console.log(res.data)

  }

})

打印出的结果就是从网页获取到的信息,正常是这样的:


latest_daily_data="\n\

num:100 total:6886 start:910102 91:253 92:257 93:257 94:249 95:243 96:246 97:237 98:245 99:237 00:238 01:239 02:232 03:237 04:241 05:227 06:219 07:214 08:244 09:232 10:192 11:236 12:233 13:237 14:244 15:244 16:244 17:244 18:243 19:222\n\

190705 13.95 13.92 13.98 13.69 749196\n\

190708 13.82 13.59 13.88 13.45 778413\n\

……省略后面的数据……

请问request({})与wx.request({})在获取网页返回数据上有什么区别吗?

本人小白,静候大神解答,谢谢啦!!!




最后一次编辑于  2019-12-02
回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容
问题标签