联通掌上营业厅自动签到(基于腾讯云函数)

获取联通营业厅Cookies

运行抓包软件 Httpcanary ,然后打开联通手机营业厅,随便点击一些页面,回到抓包软件查看获取到请求cookies后复制Cookies

部署到腾讯云SCF

  1. 登录腾讯云scf(无服务器云函数) https://console.cloud.tencent.com/scf
  2. 选择:函数服务(选择区域,上海,广州,成都,香港,北京)>新建>空白函数>函数名称(随便写,比如lt10010)>运行环境(php7.2)>下一步

联通掌上营业厅自动签到(基于腾讯云函数)

  1. 将下方代码粘贴进去,当然也可以本地编辑好进行上传,然后按照提示填写好信息(手机号、刚刚获取到的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;
        }
?>

联通掌上营业厅自动签到(基于腾讯云函数)

  1. 接下来我们先添加一个触发方式:触发方式 > 添加触发方式 > 定时触发 > 名称: lt_timer > 自定义触发周期 0 0 3 * * * * 然后保存

联通掌上营业厅自动签到(基于腾讯云函数)

  1. 接着我们来到 函数代码设置,点击最下方的 测试按钮进行测试,如出现以下结果则成功

联通掌上营业厅自动签到(基于腾讯云函数)

测试结果

联通掌上营业厅自动签到(基于腾讯云函数)
本文来自:技术宅小明,小马进行了测试和整理后转载过来,感谢大佬的分享。

点赞
  1. Mark说道:

    大神真多,呵呵 奇思妙想

  2. hk说道:

    代码不完整

    1. 小马哥哥说道:

      感谢反馈,刚看了下编辑器里面代码是完整的,不知道为啥发布之后丢失了一部分,现已补充完毕,感谢反馈

  3. 刁迈乎说道:

    cookies有效期是多久的?

    1. 小马哥哥说道:

      这个未知,目前该项目我已经停止测试了,因为腾讯云函数似乎变成收费的了,因此如果再用的话注意费用

发表评论

电子邮件地址不会被公开。必填项已用 * 标注