CNode

qq音乐歌单消息请求到的和原本的不一样

问答
Mmynamexiaohui发布于9 年前最后回复8 年前8 回复4825 浏览0 收藏

qq音乐歌单消息数据IGW(RRN0ET~Z`JC@W65QRHX.png 我获取到的数据QQ图片20171010142125.png 我的代码 apiRoutes.get('/getSongList', function (req, res) { var url = "https://c.y.qq.com/qzone/fcg-bin/fcg_ucc_getcdinfo_byids_cp.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((e) => { console.log(e) }) }) 我百度到有人说这个叫防盗链,我已经把referer改成和qq那边的一样可还是不行 希望大家能看看什么问题,谢谢

查看回复

回复 (8)

I
ianchn#1·9 年前

。。。为什么要在浏览器里改 referer,浏览器不能伪造请求头的,要在服务端做。用 Node 吧。LZ 应该也不知道 curl,postman 吧。

M
mynamexiaohui#4·9 年前
引用 ianchn@mynamexiaohui 在 Node 里用 axios。

@ianchn 我这个就是写在node里面的,可是不行,我其他的也像这样写了,可以获取到

M
mynamexiaohui#5·9 年前
引用 ianchn@mynamexiaohui 在 Node 里用 axios。

@ianchn 我用了您说的postman,出来的结果和我出来的时一样的~~ J6}{G8QGK~1R8FTUJT81XLB.png 麻烦你了

I
ianchn#6·9 年前
var request = require("request");

var options = { method: 'GET',
  url: 'https://c.y.qq.com/qzone/fcg-bin/fcg_ucc_getcdinfo_byids_cp.fcg',
  qs: { type: '1', disstid: '2684402496', outCharset: 'utf-8' },
  headers: 
   { referer: 'https://y.qq.com/' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  var ret = JSON.parse(body.match(/({.*})\)$/)[1])
  console.log(ret);
});

复制粘贴到 Node 里运行吧。

M
mynamexiaohui#7·9 年前
引用 ianchn复制粘贴到 Node 里运行吧。

@ianchn 虽然不是太懂,但是非常感谢你,谢谢

L
litteJia#8·8 年前
引用 mynamexiaohui@ianchn 虽然不是太懂,但是非常感谢你,谢谢

@mynamexiaohui 你好,我遇到了和你一样的问题,请问你解决了么

参与回复
登录后即可参与回复。登录