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 · 6901 次点击
    这是一个创建于 2748 天前的主题,其中的信息可能已经有所发展或是发生改变。

    尝试了能否非会员发表情,发现他的表情在发送时是以"[暴走漫画_把持不住]"的形式发送的,然后我通过他的接口手动发送了"[暴走漫画_把持不住]",刷新一看发现他将"[]"强制替换成了" [] ",看了一会他的 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   ·   我们的愿景   ·   实用小工具   ·   878 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 21:31 · PVG 05:31 · LAX 14:31 · JFK 17:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.