<?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 账号密码自动登陆访问,但是这样就不够简单.... 虽然每天只要执行一次 ~ )更加方便
(定时执行,稍微改一改就好)
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于