网易云音乐未登录接口返回301

网易云音乐 NodeJS 版 API (neteasecloudmusicapi.js.org)

上面是网易云音乐的官方API接口文档

当我调用接口发送请求的时候部分接口数据是需要登录之后进行获取的,但是当我发送请求的时候原生js项目中的跨端问题是比较难解决的。

遇到的问题:跨端请求中的错误

这个问题自己解决了很久之后看到了接口文档中的

所以在自己的axios请求中我做了一点改进

// 自动轮播的实现
// 1.引入axios
import 'https://unpkg.com/axios/dist/axios.min.js'
// 2.创建axios实例
export const service = axios.create({baseURL: 'http://localhost:3000',timeout: 3000,
})
// 添加请求拦截器   在发请求之前,请求拦截器可以检测到,可以在请求发出去之前做一些事情
service.defaults.withCredentials = true
service.interceptors.request.use((config) => {//设置默认的请求头// config.headers = {//   'Content-Type': 'application/json ; chartset:utf-8',// }config.headers['Content-Type'] = 'application/json ; chartset:utf-8'return config
})
// 添加响应拦截器  传入成功和失败的回调
service.interceptors.response.use((res) => {// 服务器成功的回调函数return res.data || res
}, (error) => {// 服务器失败的回调函数return Promise.reject(error)
})

但是这里在进行操作的时候首先需要进行登录之后将token保存在本地, 

  localStorage.setItem('token', JSON.stringify(res.token))localStorage.setItem('id', JSON.stringify(res.account.id))

之后再进行配置的时候需要添加

service.defaults.withCredentials = true

withCredentials 是一个布尔值,通常用于设置 XMLHttpRequest 或 Fetch API 的跨域请求是否应该发送和接收认证凭证(如 cookies、HTTP 认证或其他授权)。

当 withCredentials 设置为 true 时,浏览器将发送和接收来自不同源的请求的认证凭证。这通常用于实现跨域登录功能,这样就解决了问题,但是当你再次发送请求的时候发现返回的还是301,

登陆了还是提示 301, 基本都是缓存把数据缓存起来了,解决方法是加时间戳或者等待 2 分钟或者重启服务重新登录后再调用接口,可自行改造缓存方法

所以当我重新启动服务器之后就发现,

之前是:

总结:

当你进行登录的时候需要携带自己的唯一凭证token向后端发请求,但是当你携带token发请求的时候,因为是再请求头上携带token所以会显示跨端问题,这个主要是因为同源策略,所以我们在axios中配置了service.defaults.withCredentials = true允许实现跨端请求,但是因为之前进行调用的时候数据被缓存了,所以一直被重定向到301显示未登录,这个时候可以重启一下服务器,就可以解决这个问题了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/187572.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

启动Docker服务后显示Docker Engine stopped

1、重新启动Docker服务:打开Windows服务管理器(可以在开始菜单中搜索),找到"Docker Desktop Service"或类似命名的服务,右键单击并选择"重启"。稍等片刻,看看是否重新启动成功 2、尝试…

「我在淘天做技术」音视频技术及其在淘宝内容业务中的应用

作者:李凯 一、前言 近年来,内容电商似乎已经充分融入到人们的生活中:在闲暇时间,我们已经习惯于拿出手机,从电商平台的直播间、或者短视频链接下单自己心仪的商品。 尽管优质的货品、实惠的价格、精致的布景、有趣的…

最新宝塔面板第三方云端站点程序源码/第三方宝塔面板PHP源码/全开源ThinkPHP框架

源码简介: 实现宝塔面板第三方云端站点程序源码,这个是第三方宝塔面板 btcloud PHP源码,它还有云端使用记录、IP黑白名单、定时任务等功能。 这是一个使用PHP开发的宝塔面板第三方云端站点程序。 您可以利用此程序搭建属于自己的宝塔面板第三方云端&a…

使用切面实现前端重复提交(防抖)

使用切面实现前端重复提交(防抖) 代码结构定义注解请求锁切面处理器入参对象使用注解 代码结构 原理: 1、前端提交保存操作; 2、后端通过注解指定重复提交的关键字段进行识别,可以有多个; 3、拼接关键字段&…

HCIP---VRRP

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一. VRRP概述 VRRP---虚拟路由器冗余协议 VRRP(Virtual Router Redundancy Protocol)是一种用于在多个路由器之间创建虚拟路由器的协议。 VRRP使用了一系列协议来实现路…

Linux C语言进阶-D15递归函数和函数指针

递归函数 指一个函数的函数体中直接或间接调用了该函数本身 执行过程分为两个过程: 递推过程:从原问题出发,按递归公式递推从未知到已知,最终达到递推终止条件 回归阶段:按递归终止条件求出结果,逆向逐步…

更安全的ssh协议与Gui图形化界面使用

目录 前言: 一.Gui图形化界面的使用 二.ssh协议 SSH的主要作用包括: 相比其他网络协议,SSH的优势包括: 三.idea集成Git 前言: 上一篇讲解了git的命令用法以及https协议,但是这个协议放在做团队项目的…

机器人入门(五)—— 仿真环境中操作TurtleBot

仿真环境中操作TurtleBot 一、实操1.1 查看姿态信息1.2 控制turtlebot移动的三种方式1.2.1 命令行发布指令1.2.2 键盘操控1.2.3 Python脚本控制1.2.4 使用rqt工具界面,发布运动指令 二、里程计(odometry)TurtleBot3 仿真 进行实操之前,先准备环境 $ sud…

HTB——常见端口及协议总结

文章目录 一、 常见端口二、HTTP协议三、FTP四、SMB 一、 常见端口 http协议:80、8000https协议:443、8443ftp协议:20(数据传输)、21(发送命令)smb协议:445 二、HTTP协议 https的…

揭秘南卡开放式耳机创新黑科技,核心技术剑指用户痛点

随着科技的进步和人们娱乐方式的升级,大家对听音工具的选择,从传统的耳机到蓝牙耳机再到AirPods这样的真无线耳机,而今年,也有一种全新的耳机爆发式涌入人们之中,那就是开放式耳机。 开放式耳机的出现,满足…

Linux nohup后台启动/ 后台启动命令中nohup 、、重定向的使用

文章目录 一、前言二、nohup(不挂断)简介三、nohup使用3.1、nohup启动3.2、nohup与&,后台运行3.3、nohup与>,日志重定向3.4、nohup后台启动-综合使用(推荐)2>&1 3.5、nohup后台启动(不生成日志) 四、查看进程五、知…

httpRequest库代码示例

python # 首先导入所需的库 library(httpRequest) # 设置主机名和端口号 proxy_host <- proxy_port <- # 使用httpRequest库的get函数下载图片 response <- httpRequest(", proxyHost proxy_host, proxyPort proxy_port) # 确保请求成功 if (response$sta…

JWT令牌

引入maven依赖坐标 <!--java-jwt坐标--> <dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.13.0</version></dependency> <!--单元测试坐标--><dependency>&…

k8s 部署mqtt —— 筑梦之路

mqtt是干嘛的&#xff0c;网上有很多资料&#xff0c;这里就不再赘述。 --- apiVersion: apps/v1 kind: Deployment metadata:labels:app: mqttname: mqttnamespace: default spec:replicas: 1selector:matchLabels:app: mqttstrategy:rollingUpdate:maxSurge: 25%maxUnavaila…

Linux学习-破解Root密码

破解root密码思路 1&#xff09;重启系统,进入 救援模式 开启虚拟机A&#xff0c;在此界面按e键 在linux开头的该行&#xff0c;将此行的ro修改为rw 然后空格输入 rd.break 按 ctrl x 启动&#xff0c;会看到switch_root:/# 2&#xff09;切换到硬盘操作系统环境 # chroot …

现在学编程还能够月薪过万吗?

当我们谈到职业选择时&#xff0c;一项常受人关注的问题是&#xff0c;现在学编程还能月薪过万吗&#xff1f;这似乎是一个不断挂在年轻人嘴边的问题&#xff0c;尤其是在数字化时代&#xff0c;编程的需求越来越大。 所以今天让我们一起探讨这个问题&#xff0c;看看现实生活…

【系统救援】 Ubuntu重启失败,报错:UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

问题定位及处理 查看错误信息&#xff1a;/dev/sda3 contains a file system with errors, check forced. /dev/sda3: Inodes that were part of a corrupted orphan linked list found. /dev/sda3: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without -a or -p o…

G2406C是一款高效的直流-直流降压开关稳压器,能够提供高达1A输出电流。

G2406C 1.5MHz&#xff0c;1A高效降压DC-DC转换器 概述: G2406C是一款高效的直流-直流降压开关稳压器&#xff0c;能够提供高达1A输出电流。G2406C在2.7V至5.5V的宽范围输入电压下工作&#xff0c;使IC是低压电源转换的理想选择。在1.5MHz的固定频率下运行允许使用具有小电感…

ChatGPT的图识别来了

前几天ChatGPT推出了Dall-E 3功能&#xff0c;可以根据文字和描述一段话来生成一个或者一组图。 这次又来重磅了&#xff0c;图识别又来了&#xff01;换句话说&#xff0c;也即是文生图&#xff0c;图生文都可以实现了&#xff0c;一起来试试 1、解释图中的意思 &#xff0…

爱剪辑如何将视频旋转90度,详细操作流程

爱剪辑是一款电脑端常用的视频剪辑类软件&#xff0c;基本上囊括了视频剪辑所需的所有功能&#xff0c;此处主要介绍&#xff0c;爱剪辑是如何对视频进行旋转操作的&#xff0c;水平旋转或者垂直旋转爱剪辑都是可以操作的&#xff0c;整体操作的详细过程将在下方为大家讲解。 …