获取联通营业厅Cookies
运行抓包软件 Httpcanary ,然后打开联通手机营业厅,随便点击一些页面,回到抓包软件查看获取到请求cookies后复制Cookies
部署到腾讯云SCF
- 登录腾讯云scf(无服务器云函数) https://console.cloud.tencent.com/scf
- 选择:函数服务(选择区域,上海,广州,成都,香港,北京)>新建>空白函数>函数名称(随便写,比如lt10010)>运行环境(php7.2)>下一步
- 将下方代码粘贴进去,当然也可以本地编辑好进行上传,然后按照提示填写好信息(手机号、刚刚获取到的cookies、sever酱的sckey),确保填写正确后点击完成
<?php
function main_handler($event,$time){
//脚本设置
$phone = ''; //填写手机号
$cookie = ''; //填写cookies
$sckey = ''; //填写sever酱sckey
$data = 'className=signinIndex';
$date = date('YmdHis');
$headers = array(
"Referer: https://act.10010.com/SigninApp/signin/querySigninActivity.htm?desmobile=".$phone."&version=android@7.0000",
"Accept: text/html, application/xhtml+xml, image/jxr, */*",
"User-Agent: Mozilla/5.0 (Linux; Android 9; MI MAX 3 Build/PKQ1.180729.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.157 Mobile Safari/537.36; unicom{version:android@7.0000,desmobile:15690507717};devicetype{deviceBrand:Xiaomi,deviceModel:MI MAX 3}"
);
$random = mt_rand(100000,999999);
$renzheng = post('https://act.10010.com/SigninApp/signin/rewardReminder.do?vesion=0.018936113139'.$random,' ',$cookie,$headers);
//金币查询
$count1 = post('https://act.10010.com/SigninApp/signin/goldTotal.do?vesion=0.019762071301'.$random,' ',$cookie,$headers);
//签到
$output = post('https://act.10010.com/SigninApp/signin/daySign.do',$data,$cookie,$headers);
$qd1 = json_decode($output,true);
if($qd1['msgCode'] == '0000'){
$qd1_result = '签到成功,获得了'.$qd1['continuCount'].'金币';
}elseif($qd1['msgCode'] == '0008'){
$qd1_result = '签到失败,今天已签到!';
}else{
$qd1_result = '签到失败,cookie过期。';
file_get_contents('https://sc.ftqq.com/'.$sckey.'.send?text='.urlencode('联通营业厅签到cookie过期啦!'));
return 'error';
}
//WB签到
$wb = post('https://act.10010.com/signinAppH/commonTask?vesion=0.01839278081'.$random,'transId='.$data.'0.19402970817'.$random.'&userNumber='.$phone.'&taskCode=TA590934984&finishTime=20191213174953&taskType=DAILY_TASK',$cookie,$headers);
$qd2 = json_decode($wb,true);
if($qd2['respCode'] == '0000'){
$qd2_result = '签到成功';
}elseif($qd2['respCode'] == '0003'){
$qd2_result = '签到失败,今天已签到!';
}else{
$qd2_result = '签到失败,cookie过期。';
}
//金币查询
$count2 = post('https://act.10010.com/SigninApp/signin/goldTotal.do?vesion=0.019762071301'.$random,' ',$cookie,$headers);
echo '脚本执行完成。<br>营业厅签到结果:'.$qd1_result.'<br>WB双签结果:'.$qd2_result.'<br>签到前金币:'.$count1.'<br>签到后金币:'.$count2;
}
function post($url, $data, $cookie,$headers) {
//初使化init方法
$ch = curl_init();
//指定URL
curl_setopt($ch, CURLOPT_URL, $url);
//设定请求后返回结果
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//声明使用POST方式来进行发送
curl_setopt($ch, CURLOPT_POST, 1);
//发送什么数据呢
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
//忽略证书
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
//设置超时时间
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
//发送请求
$output = curl_exec($ch);
//关闭curl
curl_close($ch);
//返回数据
return $output;
}
?>
- 接下来我们先添加一个触发方式:触发方式 > 添加触发方式 > 定时触发 > 名称:
lt_timer
> 自定义触发周期0 0 3 * * * *
然后保存
- 接着我们来到
函数代码
设置,点击最下方的测试
按钮进行测试,如出现以下结果则成功
这能修复一下吗
失效了,没得救了
那请问还有别的办法吗
据我所知目前没有维护这个的大佬了
我用了这个怎么出错了,大神帮帮我
这能修复一下吗
怎么挂路由器运行啊
转载请注明一下原地址,腾讯云函数有免费额度,足够每月签到使用了 :heixian:
文章尾部有作者信息的,请仔细查看
貌似已经不行了!
是的,疫情在家期间没法用电脑,因此没有更新
请问如果是用curl命令该怎么写?(用于路由器脚本)
这个可以研究一下,挂路由器上相对来说更安全靠普一些
cookies有效期是多久的?
这个未知,目前该项目我已经停止测试了,因为腾讯云函数似乎变成收费的了,因此如果再用的话注意费用
代码不完整
感谢反馈,刚看了下编辑器里面代码是完整的,不知道为啥发布之后丢失了一部分,现已补充完毕,感谢反馈
大神真多,呵呵 奇思妙想