1.在dev-server.js
定义apiRouters,这样就是不直接去请求服务端,是先请求dev-ser.js 然后再请求服务器.欺骗服务器我们的refer和host
var axios = require('axios')
//XXXXXXXXXXXXXXXXXXXXXXXXXXXX
var apiRoutes = express.Router()
apiRoutes.get('/getDiscList', function (req, res) {
var url = 'https://c.y.qq.com/splcloud/fcgi-bin/fcg_get_diss_by_tag.fcg'
axios.get(url, {
headers: {
referer: 'https://c.y.qq.com/',
host: 'c.y.qq.com'
},
params: req.query
}).then((response) => { //QQ的response
res.json(response.data) //res 我们自己的返回
}).catch((e) => {
console.log(e)
})
})
app.use('/api', apiRoutes) //此地址就变成了`/api/getDiscList` 给recommend.js来请求
2.引入axios
"axios": "^0.16.1",
3.recommd.js
import axios
export function getDiscList() {
const url = '/api/getDiscList'
const data = Object.assign({}, commonParams, {
platform: 'yqq',
hostUin: 0,
sin: 0,
ein: 29,
sortId: 5,
needNewCode: 0,
categoryId: 10000000,
rnd: Math.random(),
format: 'json'
})
return axios.get(url, {
params: data
}).then((res) => {
return Promise.resolve(res.data)
})
}