Vue之跨域调用网易云音乐API及QQ音乐API

article/2025/5/12 7:35:05

今天在做VUE项目的时候,发现调用QQ音乐轮播图的API一直失败,timeout真的不是我网络的问题,在客厅对着路由器调了一整天都是报错,我还以为是API失效了,但其实没有........晚上突然又可以获取了

但总不能不写轮播图吧,于是我把目光转向网易云的API,发现GitHub上有大佬写了个网易云API的合集,发现有我想要的轮播图,网易云轮播图可用!!撒花~~

--------------------------------------------------------------------------------------------------

6.30更新:今天调用QQ音乐api又出错,感觉像是因为Referer拦截了我的请求,幸好之前捣鼓了一下网易云.......

网易云API调用

可以看到网易云的返回数据是format=json

没什么好说的,直接调用API吧

js代码

import axios from 'axios'
export function getRecommend () {const url = 'http://localhost:3000/banner'const data = Object.assign({}, {type: 2})return axios.get(url, {params: data}).then((res) => {return Promise.resolve(res.data)})
}

vue代码

export default {created () {this._getRecommend()},methods: {_getRecommend () {getRecommend().then((res) => {console.log(res.banners)})}}
}

控制台的输出,可以看到是成功拿到结果

很迷惑的是我白天调了一天的QQ音乐的API,一直请求失败,然后晚上我再试试居然可以用了,迷惑.jpg

QQ音乐API调用

QQ音乐的是用的是jsonp,返回的参数不同,代码也得改改

js代码

export function getRecommend () {const url = 'https://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg'const data = Object.assign({}, commonParams, {platform: 'h5',uin: 0,needNewCode: 1})return jsonp(url, data, options)
}

jsonp.js的代码

import originJSONP from 'jsonp'
export default function jsonp (url, data, option) {url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)return new Promise((resolve, reject) => {originJSONP(url, option, (err, data) => {if (!err) {resolve(data)} else {reject(err)}})})
}
export function param (data) {let url = ''for (var k in data) {let value = data[k] !== undefined ? data[k] : ''url += `&${k}=${encodeURIComponent(value)}`}return url ? url.substring(1) : ''
}

vue组件中就改改返回数据的参数

export default {created () {this._getRecommend()},methods: {_getRecommend () {getRecommend().then(res => {if (res.code === 0) {console.log(res.data.slider)}})}}
}

可以看到也成功获得了数据

报过的错(踩过的坑):

1、SyntaxError: unexpected token: ':'

由于网易云服务器接口返回的数据类型并不是jsonp,是json,造成由于格式问题的报错。json是一种格式,jsonp是一种请求跨域资源的方式。

2、

浏览器拦截跨域请求处理方法(已阻止跨源请求:同源策略禁止读取远程资源)

解决方法:在被请求的程序中添加HTTP头,即CORS跨域(跨域资源共享,Cross-Origin Resource Sharing)

 直接在根目录的index.html中添加

<meta http-equiv="Access-Control-Allow-Origin" content="*">

目的很简单,也就是告诉浏览器,这个资源是运行远程所有域名访问的。当然,此处的也可以替换为指定的域名,出于安全考虑,建议将替换成指定的域名。

总结:

可以看到虽然都是轮播图,但是QQ音乐和网易云的一个是jsonp请求,另一个直接返回json的数据,jsonp请求有个jsonpCallback参数,所以要另外写一个方法来处理,json就直接输出就行了,不过因为同源策略,要记得使用CORS跨域,不然就会被拦截。

参考文章:

Firebug: 已拦截跨源请求:同源策略禁止读取位于XXX的远程资源。里面还有挺多其他解决跨域问题的方法,感兴趣可以试试


http://chatgpt.dhexx.cn/article/qxUx7mlZ.shtml

相关文章

MusicBee 歌词插件(基于QQ音乐API)

MusicBee 歌词插件&#xff08;基于QQ音乐API&#xff09; MusicBee 是一个很棒的免费音乐管理、播放软件&#xff0c;支持通过插件来扩展功能。然而 MusicBee 在初始情况下仅对外国的几个歌词数据库进行检索&#xff0c;得到的结果一般是不带时间轴的纯文本歌词&#xff0c;并…

php开发个人音乐站 QQ音乐api

做位一名优秀的程序员 工作时候戴耳机是不可避免的 然后好听的歌又需要会员 下面小编就给大家简绍我自己听歌的神器 话不多说 开撸&#xff01; 一&#xff0c;要想获得对应的歌曲肯定要先获得歌曲的id,图片id等 下面主要讲解如何获取歌曲播放id&#xff1b; 1.搜索歌曲API&a…

python调用QQ音乐API

python调用QQ音乐API 1. 音乐搜索接口、其他接口 2. 获取token 3. 拼接播放地址 先上一份代码&#xff1a; import requests import pprint import json from selenium import webdriver# 音乐搜索接口p, n, w 1, 5, 碰 url_1 https://c.y.qq.com/soso/fcgi-bin/client_…

php计算QQ音乐guid,QQ音乐API分析2017

官网提供API 说明&#xff1a;此API主要针对移动端直接调用QQ音乐API用&#xff0c;API只能在QQAPP内执行&#xff0c;上线时间尚短。 http://y.qq.com/m/api/api.html 自己分析的API 说明&#xff1a; 根据官网https://y.qq.com/分析的API&#xff0c;经过测试&#xff0c;可以…

java qq音乐接口 api,GitHub - yan123zi/qqMusicApi: qq音乐Api接口

qq音乐 API qq音乐 Node.js API service QQ音乐API koa2 版本, 通过Web网页版请求QQ音乐接口数据, 有问题请提 issue 当前代码仅共学习&#xff0c;不可做商业用途 API结构图 环境要求 因为本项目采用的是koa2, 所以请确保你的node版本是7.6.0 node -v &#x1f4e6; 安装 git…

QQ音乐API整理

最近准备用vue做个音乐播放器&#xff0c;网上找了找音乐API&#xff0c;看了一圈&#xff0c;还是QQ音乐最合适&#xff0c;这里做个整理 这篇博客已经过时了&#xff0c;下面的不用看了。。。。 歌曲搜索 接口地址 var num 3,name 王菲,urlString http://s.music.qq.co…

网易云音乐api、QQ音乐api、黑马电商api、小说api、漫画api接口

网易云音乐接口文档 基础访问地址&#xff08;api的跟地址&#xff09;&#xff1a;https://autumnfish.cn/ 接口文档地址&#xff1a;https://binaryify.github.io/NeteaseCloudMusicApi/ QQ音乐接口文档 基础访问地址&#xff08;api的跟地址&#xff09;&#xff1a;http…

QQ音乐API

** QQ音乐API ** 效果图: URL: 通过这条接口查找到这10条歌曲每一条的Songmid https://c.y.qq.com/soso/fcgi-bin/client_search_cp?aggr=1&cr=1&flag_qc=0&p=1&n=10&w=邓紫棋; 这条链接获取到QQ音乐当前使用的地址(QQ音乐不定期换地址,本人跳过这…

2019最新版QQ音乐api调用(原创)

下载QQ音乐任意歌曲方法&#xff1a; 1.首先在QQ音乐任意播放页面 2.进入开发者模式按F12即可 3.选择network&#xff0c;按ctrlR进行筛选多媒体文件 4.优先选择大小排序右击最大的多媒体文件出来快捷菜单&#xff0c;选择如下图的选项即可进入歌曲播放页面 5.如下链接就是播放…

QQ音乐api 最新版,亲测可用

关注公众号&#xff0c;每天都能领红包 最近这个api出现了403问题&#xff0c;已经找到原因了 原因是 歌曲不能再以第一参数当id了 要以倒数第5个 如以上的例子 002qU5aY3Qu24y当id&#xff0c;而且前面要加C100&#xff0c;完整的就是 http://ws.stream.qqmusic.qq.com/C1000…

Java版本中最好用的网易云音乐、qq音乐api请求工具,你还在忙于如何使用java调音乐api?来看下这里的实现

去年闲着没事干&#xff0c;就封装了下面QQ和Netease音乐的 api &#xff0c;目的就是通过java可以更便捷的调用&#xff0c;网易云音乐或者qq音乐的api&#xff0c;另外每个接口我都加了注释&#xff0c;对于不懂的参数&#xff0c;通过接口上的注释直接可以查看&#xff0c;不…

QQ音乐API爬取全过程

QQ音乐API爬取全过程 1. 前序&#xff1a; 在以前的QQ音乐的API爬取中&#xff0c;是非常容易的&#xff0c;采用的是jsonp的请求方式&#xff0c;但现在QQ音乐请求已经全部改成XHR的ajax的方式发送请求&#xff0c;所以要爬取QQ音乐的数据就需要破解QQ音乐发送请求的参数。 …

QQ音乐API分析之-加密参数分析(sign计算)

QQ音乐API加密参数分析 1、背景2、QQ音乐sign计算3、Java代码实现4、总结 1、背景 不知道什么时候开始&#xff0c;各家音乐APP都开始对API进行加密&#xff0c;最近一段时间对六大音乐平台的加密算法进行了研究&#xff0c;逆向了网页端、安卓端等等&#xff0c;已经掌握了各…

微信小程序使用QQ音乐API完整实例

微信小程序使用QQ音乐API完整实例 一、QQ音乐常用API接口&#xff1a;1.1、音乐搜索接口&#xff1a;1.2、最新音乐排行榜top1001.3. 随机推荐 二、请求数据格式&#xff08;以搜索为例&#xff09;三、播放链接&#xff08;重点&#xff09;3.1、获取歌曲信息3.2 获取token3.3…

音乐播放器之QQ音乐最新api,亲测可用

大家好&#xff0c;前段时间重写了自己的音乐播放器&#xff0c;源码放在github上&#xff0c;源码地址和项目地址下面都有&#xff0c;如果喜欢记得star一下哈。 由于之前给大家分享的api虽然可以用&#xff0c;但是版本太旧了&#xff0c;很多也没有了歌词&#xff0c;今天博…

步数精灵v3.0运动安卓版

软件介绍: 一键修改微信运动、支付宝运动的步数&#xff0c;让你在家足不出户也能走几万步&#xff0c;天天霸占好友排行榜首位&#xff01; 软件预览图&#xff1a; 软件版本号&#xff1a;3.0 软件是否收费&#xff1a;免费软件/共享软件 运行环境&#xff1a;安卓 软件…

艾出行广告精灵挂机源码+对接码支付即时到账+充值系统+推广下级系统+封装app

简介&#xff1a; 安装说明&#xff1a;请使用win系统 apache php5.6 mysql5.6 进行安装。 1、上传到网站根目录 2、用phpMyadmin导入数据库文件.sql 3、修改数据库链接文件 /APP/Conf/config.php &#xff08;记得不要用记事本修改&#xff0c;否则可能会出现验证码显示不了问…

支付平台架构:终端安全技术实现

前蚂蚁集团宣布即将IPO之后&#xff0c;9月11日晚间&#xff0c;以金融支付起家的京东数科也要上市了。近年来&#xff0c;第三方支付业务的资金规模不断扩大&#xff0c;支付业务量稳步增长&#xff0c;“第三方支付”及“移动支付”已成为年度搜索热词&#xff0c;支付平台作…

键盘精灵_键盘

键盘精灵 They folks over at DasKeyboard loaned me a reviewers copy of their totally blank keyboard about three weeks ago and Ive been typing on it since. 大约在三周前&#xff0c; DasKeyboard的同事们借给了我审阅他们完全空白的键盘的副本&#xff0c;此后我一直…

Telink ble mesh天猫精灵应用

文章目录 1 前言2 完美对接天猫精灵平台2.1 创建新产品2.1.1 添加产品类型2.1.2 添加产品信息2.1.3 添加产品功能 2.2 设置人机交互2.2.1 设置控制口令2.2.2 添加产品展示图2.2.3 添加配网指导2.2.4 添加升级指导2.2.5 添加控制面板 2.3 选择品牌模组2.4 下载并保管好三元组2.5…