网易云项目调取接口需要验证登录咋整啊
之前调用没出现过这情况,突然出现的
1条回答 默认 最新
- YG·玉方 2023-07-11 16:26关注
这个问题我前段时间也遇到过,如果您在调用网易云音乐的接口时需要进行登录验证的话可以看一下我的步骤:
- 获取登录凭证
首先,您需要使用用户名和密码登录到网易云音乐,并获取登录凭证。通常情况下,您可以在浏览器中登录网易云音乐,并使用浏览器的开发者工具查看登录请求的响应,从中获取登录凭证。登录凭证通常是一个包含用户登录信息的 JSON 对象,例如:
{ "code": 200, "account": { "id": 123456, "userName": "example", "type": 1, "status": 0, "whitelistAuthority": 0, "createTime": 1551234567890, "salt": "ABCDEF123456", "tokenVersion": 1, "ban": 0, "baoyueVersion": 1, "donateVersion": 0, "vipType": 0, "viptypeVersion": -1, "anonimousUser": false }, "profile": { "userId": 123456, "nickname": "example", "avatarUrl": "https://example.com/avatar.jpg", "backgroundUrl": "https://example.com/background.jpg", "signature": "Hello, World!", "createTime": 1551234567890, "userType": 0, "djStatus": 0, "gender": 1, "city": { "id": 440300, "name": "深圳市" }, "province": { "id": 440000, "name": "广东省" }, "mutual": false, "remarkName": null, "authStatus": 0, "expertTags": null, "experts": null, "vipRights": null, "avatarDetail": null, "anchor": false, "backgroundImgId": 109951165684888370, "backgroundImgIdStr": "109951165684888376", "avatarImgId": 109951165684888390, "avatarImgIdStr": "109951165684888388", "followeds": 0, "follows": 1, "eventCount": 0, "playlistCount": 3, "playlistBeSubscribedCount": 0 }, "bindings": [ { "userId": 123456, "url": "", "type": 5, "tokenJsonStr": "{\"countrycode\":\"\",\"cellphone\":\"123456789\",\"hasPassword\":true}", "bindingTime": 1551234567890, "expired": false, "expiresIn": 2147483647, "refreshTime": 1551234567890, "id": 123456789012345678 } ], "cookie": "MUSIC_U=ABCDEF123456; Expires=Mon, 11-Jul-2023 05:42:07 GMT; Path=/; Secure" }
在上述示例中,
cookie
字段包含了登录凭证,您可以将其保存在客户端的 Cookie 中,以便在后续的请求中使用。- 在请求头中添加登录凭证
在调用网易云音乐的接口时,您需要在请求头中添加登录凭证。通常情况下,您可以使用
axios
等 HTTP 客户端库发送请求,并在请求头中添加Cookie
字段,例如:const axios = require('axios'); const cookie = 'MUSIC_U=ABCDEF123456; Expires=Mon, 11-Jul-2023 05:42:07 GMT; Path=/; Secure'; axios.get('https://music.163.com/api/playlist/detail?id=123456', { headers: { Cookie: cookie, }, }).then(response => { console.log(response.data); }).catch(error => { console.error(error); });
在上述代码中,我使用了
axios
库发送了一个 GET 请求,并在请求头中添加了Cookie
字段,以便在请求中包含登录凭证。如果您使用其他 HTTP 客户端库发送请求,可能需要根据具体的库文档来添加请求头。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
- ¥20 Java-Oj-桌布的计算
- ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
- ¥20 有人知道这种图怎么画吗?
- ¥15 pyqt6如何引用qrc文件加载里面的的资源
- ¥15 安卓JNI项目使用lua上的问题
- ¥20 RL+GNN解决人员排班问题时梯度消失
- ¥60 要数控稳压电源测试数据
- ¥15 能帮我写下这个编程吗
- ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路