用vue做demo的时候向qq音乐请求数据时,在webpack.dev.conf.js里面通过伪造请求头跨域获取数据,如下:
var express = require('express')
var axios = require('axios')
var app = express()
var apiRoutes = express.Router()
app.use('/api', apiRoutes)
devServer: {
before(app){
app.get( '/api/getDesList', function(req, res) {
const url = 'https://c.y.qq.com/splcloud/fcgi-bin/fcg_get_diss_by_tag.fcg'
axios.get( url, {
headers: {
referer: 'https://y.qq.com/',
host: 'c.y.qq.com'
},
params: req.query
} ).then((response) => {
res.json(response.data)
} ).catch((err) => {
console.log(err)
})
} )
}
开发环境下正常获取数据:
但是打包放到github pages后,这一数据无法获取而且报404错误:
这种方式获取的数据是不是只适用于开发环境,大佬们怎么解决啊?好心塞啊!!!
没有服务器,在前端改 header 是没有用的,
Host
和Referer
都是禁止修改。要么用自己的服务器,要么看看 qq 音乐有没有支持跨域的 api