音乐插件搞定了

事实证明,大部分喜欢电音的人都特别喜欢安静的纯音乐,同时深爱着古风,就算听不懂,但还是特别喜欢日语歌,而这些,反应了我们的孤独,无人理解的痛

前两周应该是做了个非常原始的音乐播放插件,原始到要手动写入音频的链接。也就是我添加一首歌要先想办法下载下来再传到网站上。这就直接造成我再第一次插入三首歌后,丝毫没有欲望继续添加歌曲。
当时难道没发现更好的插件么,其实是有的。就是现在用的这个基于Aplayer的Meting。
但是,但是,但是。
他并不运行,不管换成什么版本,都不行。网上的资料甚少,没有找到有效的解决办法。
今天白天也没干什么正事儿,本来想着手机能到货录个开箱,结果并没有到。看了会儿番,下午有些困直接睡了一觉,起来觉得还是要找点事儿干,那就解决一下没有解决的问题吧。首先把主页的B站链接图表改了一下,原来就是个大写的B,现在换成播放键看起来好一点,终极目标是做成小电视。但似乎操作起来比想的要复杂很多。暂时就那么整着,除此之外,就是这个音乐插件了。
遇到这种问题,基本操作是排错。先按一波F12,切到Network刷新看看有没有什么发现。啊,果然,一条红字。
看了一下,确实是这个插件的报错。错误原因是403拒绝访问,开始我直接去访问那个链接,结果是可以进去的。页面里是歌曲解析出来对应的歌词,封面之类的链接。那些链接里面有反斜杠,我就懒得手动去访问,被暂时忽略了。
403错误如果不是胡乱操作,一般是权限的问题。所以跑去改权限,看了一下,之前直接给了7777,顺手改回755没啥用。
我觉得很奇怪,我一直以为403的是那个网址,但是手动可以打开。到这里没什么进展,到冰箱里拿了一盒全脂牛奶,吃了几块巧克力。注意力回到那些返回的链接。
去掉反斜杠手动访问,哟,403。虽然本不是什么好事儿,但还是很高兴,因为总算知道是哪儿出问题了。
并且在这个页面的控制台里可以看到是HTTP拒绝访问,道路瞬间明朗,因为使用HTTP访问HTTPS的网站也会出现403。我开始怀疑之前配置SSL的时候动了Nginx的设置出了问题。改动一番后并没有明显的变化,最后才准备看看插件本身。
打开Action.php,直接全词匹配http,嗯,不错看到了很多http的关键词。直接无脑替换不可取,还是要稍微看看他是怎么写的。其中很多是他在替换链接,把http的转化为https。这些要是替换了,他就失效了。
找到了几个可以替换为HTTPS的地方,替换之后403错误消失,可以访问到对应的音频文件和封面了。
重启插件,页面也可以正常显示音乐播放框了。问题解决。
修改的代码在最低端,修改后是这样子

if (isset($_SERVER['HTTPS_REFERER']) && parse_url($_SERVER['HTTPS_REFERER'], PHP_URL_HOST) !== $_SERVER['HTTPS_HOST']) {
http_response_code(403);
die('[]');
}

有这个插件那可太了不得了,直接网易云建个歌单,往里丢音乐这边就会自动出来。甚至,国外锁区的问题也直接解决了。
ヾ(≧∇≦*)ゝ

评论区

点踩数过多的评论会被枪毙

已有 2 条评论

大佬呀,代码不错

FKUN FKUN 回复 @森纯博客
0 0

诶呀,不敢当不敢当。微微调整一下真正大佬的代码