HTTPS下插入B站视频

Bilibili 2016年5月8日

起源

刚才在转载BBleae的插入QQ小尾巴的指导视频的时候,发现用https会出现证书CN(常用名,COMMON NAME)不符导致没法载入。因为我是全站HTTPS的,也没法插入HTTP的不然会出现MIX CONTENTS一样没法载入。

问题分析

点击B站分享的时候,会给这么一段HTML代码给你:

<embed height="452" width="544" quality="high" allowfullscreen="true" type="application/x-shockwave-flash" src="http://share.acg.tv/flash.swf" flashvars="aid=3128485&page=1" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"></embed>

很明显这玩意不能用,因为它的源是http://share.acg.tv/flash.swf但是我是全站加密的,所以会出现MIX CONTENTS。当我用https://share.acg.tv/flash.swf的时候,发现这东西的证书CN并不是share.acg.tv或者*.acg.tv所以出现COMMON NAME MISMATCH。

解决方法

很简单,只需要把http://share.acg.tv/flash.swf替换为https://static-s.bilibili.com/miniloader.swf问题就解决了。static-s.bilibili.com这域名的CN是正常的,也支持HTTPS。

于是会变成这样:

<embed height="452" width="544" quality="high" allowfullscreen="true" type="application/x-shockwave-flash" src="https://static-s.bilibili.com/miniloader.swf" flashvars="aid=3128485&page=1" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"></embed>

假如你的程序支持embed自动转码(譬如Wordpress 3.5版本后),那就更简单了。只需要这么一段代码即可:

<embed height="452" width="544" src="https://static-s.bilibili.com/miniloader.swf?aid=3128485"></embed>

效果演示

这是我很久之前弄得一个视频(捂脸)

还有另外一个示范
https://blog.ixnet.work/2016/05/07/custom-qq-tails/

参考文章

Tags

Howard Liu

在读大学生,平常使用窝窝屎提高血压和听网课使自己更快入睡。

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.