<?php $cookie = 'symphony=切勿公开'; // 设置cookie 这里改一改可以对cookie进行保存,然后定时执行 function get($url, $cookie, $referer = 'https://hacpai.com/settings') // 封装请求 { $curl = curl_init(); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 不进行ssl证书验证 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); // token链接会进行 301 需要跟随 curl_setopt($curl, CURLOPT_TIMEOUT, 60); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'); // 模拟用户使用的浏览器 curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($curl, CURLOPT_COOKIE, $cookie); curl_setopt($curl, CURLOPT_REFERER, $referer); // 需要注意 referer $result = curl_exec($curl); curl_close($curl); return $result; } $checkin = get('https://hacpai.com/activity/checkin', $cookie); // 获取附带 token 的检查登陆链接 preg_match('/https:\/\/hacpai\.com\/activity\/daily-checkin\?token\=(?:.|\n)*?"/', $checkin, $tokenUrl); // 正则匹配 $tokenUrl = explode('"', $setp2[0])[0]; // 上部分正则匹配后尾部多了个" 这里这样子进行清理 https://hacpai.com/activity/daily-checkin?token=XXXXXXXX" $content = get($tokenUrl, $cookie, 'https://hacpai.com/activity/checkin'); // 访问获取到的链接 preg_match('/今日签到获得 \<code\>(?:.|\n)*?\<\/code\> 积分/', $content, $end); // 从页面获取今日签到的奖励 echo '执行完成:' . $end;
tips: 暂时不知道 cookie 的过期时间,也没有写其他的,这就是简单的获取访问 可能用其他语言(我一直想用 python 来弄,输入 github 账号密码自动登陆访问,但是这样就不够简单.... 虽然每天只要执行一次 ~ )更加方便
(定时执行,稍微改一改就好)
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于