本文最后更新于:4 个月前
搜索云函数
新建一个函数 名称随意 环境 PHP 7.2 空白函数 下一步
然后会出现这个界面 把 index.php 里面的内容全部删掉
替换为下面这些代码 记得填写手机号和密码
代码有两个版本,第一个是以前在用的,第二个未测试。
现在两个版本已经有段实践没有去运行测试了,难以保证可行性。(日后有再补新的API)
版本①
<?php
$localurl = "http://neteasecloudmusicapi.zhaoboy.com";
$username = "手机号";
$password = "密码";
$SCKEY = "";//可选
//访问链接
function getcurl($url,$cookies,$headid){
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIE, $cookies);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, $headid);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
//获取日推歌单
function get_rec_res($cookies){
global $localurl;
$url = $localurl."/recommend/resource";
return json_decode(getcurl($url,$cookies,0),true);
}
//获取歌单中歌曲
function get_song($cookies,$id){
global $localurl;
$url = $localurl."/playlist/detail?id={$id}";
return json_decode(getcurl($url,$cookies,0),true);
}
//打卡歌曲
function daka($cookies,$id){
global $localurl;
$url = $localurl."/scrobble?id={$id}&time=71×tamp=".rand(1, 100000);
getcurl($url,$cookies,0);
}
//签到
function qiandao($cookies){
global $localurl;
$urland = $localurl."/daily_signin";
$urlpc = $localurl."/daily_signin?type=1";
getcurl($urland,$cookies,0);
getcurl($urlpc,$cookies,0);
}
//登录
function login($username,$password){
global $localurl;
$url = $localurl."/login/cellphone?phone={$username}&password={$password}";
$data = getcurl($url,0,1);
if(preg_match_all('/Set-Cookie:(.*);/iU',$data,$str)==0)
die($data);
$cookies = $str[1][0].";".$str[1][1].";".$str[1][2].";";
return $cookies;
}
//获取用户id
function get_id($cookies){
global $localurl;
$url = $localurl."/login/status";
$state = json_decode(getcurl($url,$cookies,0),true);
return $state["bindings"][0]["userId"];
}
//听歌量
function get_listenSongs($cookies){
global $localurl;
$userid = get_id($cookies);
$url = $localurl."/user/detail?uid={$userid}×tamp=".rand(1, 100000);
$detail = json_decode(getcurl($url,$cookies,0),true);
return $detail["listenSongs"];
}
function run($username,$password){
global $localurl;
global $SCKEY;
$cookies = login($username,$password);
qiandao($cookies);
$songslist = get_rec_res($cookies);
for($k=0;$k<(count($songslist["recommend"]));$k++){
$songlist = get_song($cookies,$songslist["recommend"][$k]["id"]);
for($j=0;$j<(count($songlist["privileges"]));$j++){
daka($cookies,$songlist["privileges"][$j]["id"]);
if(($j/10)==0){
sleep(1);
}
if(($j==(count($songlist["privileges"])-1))||$j==300){
echo "执行 {$j} 首\n";
sleep(10);
break 1;
}
}
}
if($SCKEY){
$number = get_listenSongs($cookies);
echo $number;
$url = "https://sc.ftqq.com/".$SCKEY.".send?text=".urlencode($username." 当前听歌量 ".$number);
getcurl($url,0,0);
}
}
function main_handler($event, $context) {
global $username;
global $password;
run($username,$password);
return " 任务完成 ";
}
?>
版本②
<?php
$localurl = "http://wyyapi.aar0n.cn";
$username = "你的手机号";
$password = "你的密码";
//访问链接
function getcurl($url,$cookies,$headid){
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIE, $cookies);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, $headid);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
//获取日推歌单
function get_rec_res($cookies){
global $localurl;
$url = $localurl."/recommend/resource";
return json_decode(getcurl($url,$cookies,0),true);
}
//获取歌单中歌曲
function get_song($cookies,$id){
global $localurl;
$url = $localurl."/playlist/detail?id={$id}";
return json_decode(getcurl($url,$cookies,0),true);
}
//打卡歌曲
function daka($cookies,$id){
global $localurl;
$url = $localurl."/scrobble?id={$id}&time=71×tamp=".rand(1, 100000);
getcurl($url,$cookies,0);
}
//签到
function qiandao($cookies){
global $localurl;
$urland = $localurl."/daily_signin";
$urlpc = $localurl."/daily_signin?type=1";
getcurl($urland,$cookies,0);
getcurl($urlpc,$cookies,0);
}
//登录
function login($username,$password){
global $localurl;
$url = $localurl."/login/cellphone?phone={$username}&password={$password}";
$data = getcurl($url,0,1);
if(preg_match_all('/Set-Cookie:(.*);/iU',$data,$str)==0)
die($data);
$cookies = $str[1][0].";".$str[1][1].";".$str[1][2].";";
return $cookies;
}
function run($username,$password){
global $localurl;
$cookies = login($username,$password);
qiandao($cookies);
$songslist = get_rec_res($cookies);
for($k=0;$k<(count($songslist["recommend"]));$k++){
$songlist = get_song($cookies,$songslist["recommend"][$k]["id"]);
for($j=0;$j<(count($songlist["privileges"]));$j++){
daka($cookies,$songlist["privileges"][$j]["id"]);
if(($j/10)==0){
sleep(1);
}
if(($j==(count($songlist["privileges"])-1))||$j==300){
echo "执行 {$j} 首\n";
sleep(10);
break 1;
}
}
}
}
function main_handler($event, $context) {
global $username;
global $password;
run($username,$password);
return "ok"; }
?>
记得修改手机号和密码哦~
点击编辑 超时时间 改为900 点击保存
找到触发方式 添加触发方式
定时触发 corn 表达式 每天八点自动打卡
0 0 8 */1 * * *
点击保存 这样就可以了 就可以享受每天纯自动打卡了 美滋滋啊
最后
你过你对它感兴趣 还可以去研究研究其他的 API
他是个开源项目
地址:https://binaryify.github.io/NeteaseCloudMusicApi/#/
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!