研究了一下哔哩哔哩的大会员表情功能 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a Javascript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
Javascript 权威指南第 5 版
Closure: The Definitive Guide
zhihaofans
V2EX    Javascript

研究了一下哔哩哔哩的大会员表情功能

  •  
  •   zhihaofans 2016-10-10 23:33:10 +08:00 7295 次点击
    这是一个创建于 3363 天前的主题,其中的信息可能已经有所发展或是发生改变。

    尝试了能否非会员发表情,发现他的表情在发送时是以"[暴走漫画_把持不住]"的形式发送的,然后我通过他的接口手动发送了"[暴走漫画_把持不住]",刷新一看发现他将"[]"强制替换成了" [] ",看了一会他的 Js 文件还没研究出他是用 js 替换的还是服务器后端替换的。

    现在有个疑问:有没有办法不让他将"[]"替换成" [] "呢?

    第 1 条附言    2016-10-11 10:06:35 +08:00
    他的表情有感兴趣的可以下载
    19 条回复    2016-10-11 22:08:36 +08:00
    dphdjy
        1
    dphdjy  
       2016-10-10 23:39:45 +08:00 via Android
    估计如果不是客户端处理就是服务端根据用户是否 VIP 来处理,第二种无力
    zhihaofans
        2
    zhihaofans  
    OP
       2016-10-10 23:47:38 +08:00 via Android
    用手机看发现我说的 2 个中括号变成了一样的(不知道是不是浏览器问题),我说的 2 个中括号分别是英文的中括号和中文的中括号


    @dphdjy
    他在加载页面时载入了一个叫 vip.Plugin.js 的文件。我明天起床再研究一样
    nlzy
        3
    nlzy  
       2016-10-10 23:51:00 +08:00 via Android
    直接把评论 post 到服务器呢?
    zhihaofans
        4
    zhihaofans  
    OP
       2016-10-10 23:57:16 +08:00 via Android
    @nlzy 我一开始就说了呀,通过他的接口发送(评论)结果照样被强制替换了
    zhihaofans
        5
    zhihaofans  
    OP
       2016-10-10 23:57:53 +08:00 via Android
    @nlzy 想了一样,应该是服务端替换了
    zhihaofans
        6
    zhihaofans  
    OP
       2016-10-10 23:58:07 +08:00 via Android
    @nlzy 一样→一下
    nlzy
        7
    nlzy  
       2016-10-11 00:03:15 +08:00 via Android
    @zhihaofans 抱歉,没仔细看。
    pungis
        8
    pungis  
       2016-10-11 00:05:29 +08:00   1
    比起这个更应该研究 1080P 怎么获取
    <accept_format>mp4,hdmp4,flv,hdflv2</accept_format>
    <accept_quality>4,3,2,1</accept_quality>
    应该就是 playurl?quality=4

    直接发这个请求能不能获取到 hdflv2 的视频地址?
    zhihaofans
        9
    zhihaofans  
    OP
       2016-10-11 00:14:49 +08:00 via Android
    @pungis
    网上不是传言说 1080 是假的吗?
    我明天研究研究,现在在床上了
    devzero
        10
    devzero  
       2016-10-11 00:48:04 +08:00 via Android
    远古手机端表示 post 上去的是“[]”,刷新后就变成了“ [] ”
    devzero
        11
    devzero  
       2016-10-11 00:49:28 +08:00 via Android
    第二个是中文中括号 @devzero
    susucoolsama
        12
    susucoolsama  
       2016-10-11 09:44:13 +08:00
    表示坐等楼主成果。
    Karblue
        13
    Karblue  
       2016-10-11 10:04:45 +08:00
    不用想了。肯定是服务端过滤。客户端过滤还一年 233 侮辱智商吗
    zhihaofans
        14
    zhihaofans  
    OP
       2016-10-11 10:06:12 +08:00
    @Karblue 也是=.=我还是来研究 1080p 吧
    zhihaofans
        15
    zhihaofans  
    OP
       2016-10-11 18:37:34 +08:00
    @pungis 研究了一下你发的这个,下面不是有所有画质的视频链接吗(可以直接在播放器在线看的链接)?
    pungis
        16
    pungis  
       2016-10-11 19:20:53 +08:00
    @zhihaofans 哪个有所有画质? av 号报出来
    正常来说默认是超清, .flv 的, quality=3 或者省略
    其他的需要点击对应画质切换,会发出不同 quality=的请求,mp4 或 hd.mp4
    现在这个多出来的 hdflv 还没看到

    你找一个新的有高画质的视频试试,比如 av6624125
    zhihaofans
        17
    zhihaofans  
    OP
       2016-10-11 19:37:37 +08:00
    @pungis
    我研究是 av6629077

    抓包找到这个地址 ↓
    https://bangumi.bilibili.com/player/web_api/playurl?cid=(视频 id ,不是 av***)&module=bangumi&player=1&quality=(视频质量,整数,一般为 1-4)&ts=(unix 时间戳)&sign=(认证签名)

    这个地址返回了你发的那个 ↓
    <accept_format>mp4,hdmp4,flv,hdflv2</accept_format>
    <accept_quality>4,3,2,1</accept_quality>

    然后往下一看就有视频链接
    <durl>
    <order>1</order>
    <length>361982</length>
    <size>78690463</size>
    <url><![CDATA[http://cn-gdgz6-cmcc.acgvideo.com/vg6/d/a1/10787909-1.flv?expires=1476200100&ssig=An43cMqaUj6pwasmRfDHIw&oi=3085847589&rate=0]]></url>
    <backup_url>
    <url><![CDATA[http://cn-gdsz-cmcc-v-01.acgvideo.com/vg7/a/a6/10787909-1.flv?expires=1476200100&ssig=CNLPRVms-jNUr9iWtYwywA&oi=3085847589&rate=0]]></url>
    <url><![CDATA[http://cn-gdgz2-cmcc.acgvideo.com/vg2/8/30/10787909-1.flv?expires=1476200100&ssig=n1LjEiAzTmQB_3QQsL9tJw&oi=3085847589&rate=0]]></url>
    </backup_url>
    </durl>

    我现在碰到的问题就是,怎样获取我上面发的那个地址里的“ sign=(认证签名)”
    zhihaofans
        18
    zhihaofans  
    OP
       2016-10-11 19:39:54 +08:00
    上接#17 的内容

    “ sign=(认证签名)”无论在抓包得到的数据、网页代码或者 js 文件里都找不到
    pungis
        19
    pungis  
       2016-10-11 22:08:36 +08:00
    @zhihaofans 你那就是超清,.flv 的
    sign 计算在 flash 里,把它拆了就能得到了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2677 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 11:33 PVG 19:33 LAX 03:33 JFK 06:33
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86