Created
August 10, 2021 03:22
-
-
Save woyin/daccce9507063983d6784ae508f03bfd to your computer and use it in GitHub Desktop.
Auto Sign for Discuz DSU
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
header("Content-type:text/html;charset=utf-8"); | |
// 设定cookie和网址 | |
// 通过Chrome 或者Edge 找到对应的Cookie值,找到以saltkey和auth 结尾的Cookie 名称和值,填在这里 | |
$cookie = 'xxxxxxx_saltkey=XXXXXXXX;xxxxxxxx_auth=XXXXXX'; | |
// 获取formhash | |
$URL = "http://bbs.abc.com/forum.php"; //论坛地址 | |
$str = loadcode($cookie,$URL); | |
preg_match_all('/name="formhash" value="(\w+)"/',$str,$m); | |
// 设定POST信息 | |
$data = 'formhash='.$m[1][0].'&qdxq=kx&qdmode=1&todaysay=HelloWorld~&fastreply=0'; | |
$Referer = 'http://bbs.abc.com/plugin.php?id=dsu_paulsign:sign'; //签到地址 | |
$URL = $Referer.'&operation=qiandao&infloat=1&inajax=1'; // 签到提交的URL | |
// 模拟签到并输出回执 | |
print_r(vpost($URL,$data,$cookie,$Referer)); | |
function loadcode($cookie,$URL) | |
{ | |
$ch = curl_init();//初始化curl | |
curl_setopt($ch,CURLOPT_COOKIE,$cookie); //设置cookie | |
curl_setopt($ch,CURLOPT_URL,$URL);//抓取指定网页 | |
curl_setopt($ch, CURLOPT_HEADER, 0);//设置header | |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上 | |
return curl_exec($ch);//运行curl | |
curl_close($ch); | |
} | |
function vpost($URL,$data,$cookie,$Referer){ // 模拟提交数据函数 | |
$curl = curl_init(); // 启动一个CURL会话 | |
curl_setopt($curl, CURLOPT_URL, $URL); // 要访问的地址 | |
curl_setopt($curl, CURLOPT_COOKIE, $cookie); | |
curl_setopt($curl, CURLOPT_REFERER,$Referer);// 设置Referer | |
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求 | |
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包 | |
// curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环 | |
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 | |
$tmpInfo = curl_exec($curl); // 执行操作 | |
if (curl_errno($curl)) { | |
echo 'Errno'.curl_error($curl);//捕抓异常 | |
} | |
curl_close($curl); // 关闭CURL会话 | |
return $tmpInfo; // 返回数据 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment