1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 网易云音乐encseckey算法php 求助网易云音乐_secretKey及_encSecKey获取

网易云音乐encseckey算法php 求助网易云音乐_secretKey及_encSecKey获取

时间:2020-11-23 19:46:42

相关推荐

网易云音乐encseckey算法php 求助网易云音乐_secretKey及_encSecKey获取

[PHP] 纯文本查看 复制代码<?php

/*

* @Description: 网易云

* @Author: BuWenGuiQi_

* @Date: -02-15 18:06:15

* @LastEditTime: -02-25 07:45:54

* @Tips: 现在的努力是为了小时候吹过的牛逼!

*/

namespace app\common\lib;

class Netease

{

function getNeteaseMusicData($id, $br = 128000)

{

$p = [

'ids' => '[' . $id . ']',

'br' => $br,

];

$p = json_encode($p);

$data = $this->createParam($p);

return json_decode($this->httpPost('weapi/song/enhance/player/url?csrf_token=', $data), true);

/*

* {"data":[{"id":413812378,"url":"http://m10./0930150020/5a60f4e62d8da953894c00a57f083203/ymusic/2a0c/718e/fecc/d2407d8228490343a94dc008463d3aab.mp3","br":128000,"size":1778042,"md5":"d2407d8228490343a94dc008463d3aab","code":200,"expi":1200,"type":"mp3","gain":-2.0E-4,"fee":0,"uf":null,"payed":0,"flag":0,"canExtend":false}],"code":200}

* { ["msg"]=> string(12) "参数错误" ["code"]=> int(400) }

*/

}

/**

* @Description: 加密啥乱七八糟的东西

* @Date: -02-15 18:14:28

* [url=home.php?mod=space&uid=952169]@Param[/url] {type}

*/

function AesEncrypt($text, $key, $iv = '0102030405060708')

{

$pad = 16 - strlen($text) % 16;

$text = $text . str_repeat(chr($pad), $pad);

$encryptor = openssl_encrypt($text, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv);

return base64_encode($encryptor);

}

/**

* @Description: 生成 params & encSecKey

* @Date: -02-15 18:14:01

* @param {type}

*/

function createParam($text)

{

$nonce = '0CoJUm6Qyw8W8jud';

$secKey = 'FFFFFFFFFFFFFFFF';

$encText = $this->AesEncrypt($this->AesEncrypt($text, $nonce), $secKey);

$encSecKey = '257348aecb5e556c066de214e531faadd1c55d814f9be95fd06d6bff9f4c7a41f831f6394d5a3fd2e3881736d94a02ca919d952872e7d0a50ebfa1769a7a62d512f5f1ca21aec60bc3819a9c3ffca5eca9a0dba6d6f7249b06f5965ecfff3695b54e1c28f3f624750ed39e7de08fc8493242e26dbc4484a01c76f739e135637c';

return [

'params' => $encText,

'encSecKey' => $encSecKey,

];

}

/**

* @Description: 获取网易云热评

* @Date: -02-15 18:15:36

* @param {type}

*/

function music_hotComments($id, $br = 128000)

{

$p = [

'ids' => '[' . $id . ']',

'br' => $br,

];

$p = json_encode($p);

$data = $this->createParam($p);

return json_decode($this->httpPost('weapi/v1/resource/comments/R_SO_4_' . $id . '?csrf_token=', $data), true);

}

/**

* @Description: 发起访问请求

* @Date: -02-15 18:15:59

* @param {type}

*/

function httpPost($url = '', array $param)

{

$url = "/" . $url . '&s=' . time();

$values = [];

foreach ($param as $key => $value) {

$values[] = "$key=" . urlencode($value);

}

error_reporting(E_ALL);

$values = implode('&', $values);

$ch = curl_init(); //初始化curl

curl_setopt($ch, CURLOPT_URL, $url); //抓取指定网页

curl_setopt($ch, CURLOPT_HEADER, 0); //设置header

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //要求结果为字符串且输出到屏幕上

curl_setopt($ch, CURLOPT_POST, 1); //post提交方式

//字符串时自动为application/x-www-form-urlencoded

//数组时自动为 form-data

curl_setopt($ch, CURLOPT_POSTFIELDS, $values);

$data = curl_exec($ch); //运行curl

curl_close($ch);

return $data;

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。