1、我们在尝试抓取其他网站的数据接口时,某些接口需要经过请求头中的Host和Referer的检查,不是指定的host或referer将不予返回数据,且前端无法绕过这种检查

此时通过后端代理解决

在vue-cli 环境下,以qq音乐为例伪造请求头:

  1.1 打开配置文件webpack.dev.conf,js,安装express,axios

并在文件开头const portfinder = require('portfinder')后进行引入

const axios = require('axios')
const express = require('express') let app = express()
let apiRoutes = express.Router()
app.use('/api', apiRoutes)   1.2 找到devServer节点,在其中配置新增before函数调用,在函数体内使用axios代为发送请求,前端的请求将请求到这里
before(app) {
app.get('/api/getDiscList', (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/m/index.html",
host:'c.y.qq.com'
},
params: req.query//转发前端请求的参数
}).then((response) => {
res.json(response.data)//传回qq后台相应的请求至前端
}).catch((err) => {
console.log(err)
}) })
}
 
 1,.3 修改前端请求地址
export function getDiscList() {
// 使用jsonp抓取数据
const url = '/api/getDiscList' const data = Object.assign({}, commonParams, {
_: '1557234847616',
platform: 'yqq',
hostUinL: 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)
})
}

最新文章

  1. OSGi 基本原理
  2. HTML和xhtml,CSS
  3. java:如何用代码控制H2 Database启动
  4. iOS 多线程及其他补充
  5. [知识点]平衡树之Splay
  6. matlab-----均值滤波函数的实现
  7. object覆盖的div解决办法
  8. Mac terminal commands
  9. MSF初体验 - kali linux 入侵XP系统
  10. 打开safari开发者选项
  11. MS08_067漏洞学习研究
  12. python笔记:#007#变量
  13. [Jetty] Debugging With Eclipse
  14. FL Studio中的音频设置
  15. RequireJs 的 使用
  16. 微信js sdk的使用初步理解
  17. Program type already present:okio.AsyncTimeout$Watchdog Message{kind=ERROR, text=Program type :okio
  18. postman 学习网址
  19. Java 使用stringTemplate导出大批量数据excel(百万级)
  20. mac for appium环境安装

热门文章

  1. O - 覆盖的面积(线段树+扫描线)
  2. 系统学习javaweb3----HTML语言3(结束)
  3. EXAM-2018-8-10
  4. C语言中传值和C++的传引用
  5. Django连接SQL Server,安装相关扩展包及相关配置
  6. Session深入浅出
  7. 【Java集合】试读ArrayList源码
  8. android支付宝首页、蚂蚁森林效果、视频背景、校园电台、载入收缩动画等源码
  9. Python类变量与实例变量及成员函数修饰方式说明(与Java定义方式进行类比)
  10. 蛋白质修饰|phosphors|mascot+X|