V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
q137564495
V2EX  ›  JavaScript

帮忙解密 JS 送红包

  •  
  •   q137564495 · 2017-08-28 21:05:37 +08:00 · 2480 次点击
    这是一个创建于 2644 天前的主题,其中的信息可能已经有所发展或是发生改变。
    解密 JS 获取 MP4 地址 上次在精易论坛有人告诉我了;因为是小白 折腾了半天还是搞不定
    现在又想采集以下哪些主播的 MV 了
    不要告诉我怎么解密 获取 MP4 地址 免得像上次一样
    我是用的是火车头采集工具采集的 懂的话帮我看下
    只有 20 元红包了
    地址
    http://fanxing.kugou.com/mvplay/807720485470212096
    11 条回复    2017-08-30 18:09:14 +08:00
    q137564495
        1
    q137564495  
    OP
       2017-08-28 21:06:41 +08:00
    QQ 770787217
    q137564495
        3
    q137564495  
    OP
       2017-08-29 08:34:09 +08:00
    我知道 但在源码里面有一个值找不到
    hash= 还是 sign=
    我忘记了
    能在元玛丽帮我找到或计算出这两个值 红包也给你
    q137564495
        4
    q137564495  
    OP
       2017-08-29 08:35:06 +08:00
    @popok 我知道 但在源码里面有一个值找不到
    hash= 还是 sign= 我忘记了
    能在元玛丽帮我找到或计算出这两个值 红包也给你
    popok
        5
    popok  
       2017-08-29 09:20:21 +08:00
    @q137564495 #3 hash 是上一个请求里得到的,sign 是签名,js 里有算法
    nameldk
        6
    nameldk  
       2017-08-29 11:14:43 +08:00
    nameldk
        7
    nameldk  
       2017-08-29 12:38:29 +08:00
    PHP 代码:
    ```
    function getVideUrl($requetUrl) {
    preg_match('@http://fanxing.kugou.com/mvplay/(\d+)#?(\d+)*@', $requetUrl, $match);
    // var_dump($match);exit;
    if (empty($match)) {
    return -1;
    }
    $videoId = isset($match[2]) ? $match[2] : $match[1];
    $t = substr(microtime(1)*1000, 0, 13);
    $content = file_get_contents('http://fanxing.kugou.com/Services.php?act=Video.OfflineVideoService&mtd=getVideoAllInfoByVideoId&args=['.$videoId.',0,0]&_='.$t.'&jsonpcallback=jsonp2');
    $content = str_replace(['jsonp2(', ')'], '', $content);
    $content = json_decode($content, 1);
    if (empty($content['data']['videoInfo']['hashValue'])) {
    return -2;
    }
    $hashValue = $content['data']['videoInfo']['hashValue'];
    $g = "callbackcallbackformatjsonphash" .$hashValue. "pid6kugou_video";
    $url = "http://tracker.v.kugou.com/video/query?pid=6&hash=" . $hashValue . "&sign=" . md5($g) . "&format=jsonp&callback=callback";
    $content = file_get_contents($url);
    $content = str_replace(['callback(', ')'], '', $content);
    $content = json_decode($content, 1);
    if (empty($content['data']['url'])) {
    return -3;
    }
    return $content['data']['url'];
    }

    var_dump(getVideUrl('http://fanxing.kugou.com/mvplay/807720485470212096'));
    ```
    q137564495
        8
    q137564495  
    OP
       2017-08-29 17:48:21 +08:00
    @popok hash 是上一个请求里得到的,sign 是签名,js 里有算法
    我不是说了嘛,我不会 JS 即使你跟我说了我也不会
    源码里找到一个 hash 的值还是 sign 的值 我不记得了
    因为之前也有人跟我说了 可我依然不会
    你告诉我怎么用火车头采集得到那个视频地址即可
    q137564495
        9
    q137564495  
    OP
       2017-08-29 17:50:13 +08:00
    @nameldk 我也不会 看不懂怎么用你这个 PHP 去获取那个视频地址;
    能告诉我怎么使用火车头采集软件获取吗?
    我只有 20 块红包了
    popok
        10
    popok  
       2017-08-29 21:13:01 +08:00
    @nameldk #7 这位帅哥, $g = "callbackcallbackformatjsonphash" .$hashValue. "pid6kugou_video";
    这个是从哪里看到的,是不是从其他 api 里找的?
    q137564495
        11
    q137564495  
    OP
       2017-08-30 18:09:14 +08:00
    @nameldk 怎么使用你的 PHP 我放在 PHP 空间上没有反应,怎么回事哦?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2695 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:31 · PVG 11:31 · LAX 19:31 · JFK 22:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.