依旧是1年前放在百度空间上的代码,针对的是DSU每日签到插件,路径是plugin.php?id=dsu_paulsign:sign,论坛一般用的都是这个插件,因为是针对插件写的,所以DiscuzX论坛2.x,3.x都能使用。
唯一要注意的就是代码保存的时候编码要跟论坛使用的编码一致,编码不一样的话无法正常签到

<?php
/*
*DiscuzX系列论坛签到
*在代码里填上你的用户名和密码~
*By Perfare
*update 2014-3-23
*/
header("content-Type: text/html; charset=gbk");

function curl_get($url, $use = false, $save = false, $referer = null, $post_data = null){
	global $cookie_file;
    $ch=curl_init($url);
	curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36');
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	//需要使用cookies
	if($use){
		curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
    }
	//需要保存cookies
	if($save){
		curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
    }
	//需要referer伪装
	if(isset($referer))
		curl_setopt($ch, CURLOPT_REFERER, $referer);
	//需要post数据
	if(is_array($post_data)) {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    }
    $content = curl_exec($ch);
    curl_close($ch);
    return $content;
}

function get_formhash($res){
	if(preg_match('/name="formhash" value="(.*?)"/i', $res, $matches))
        return $matches[1];
	else
		exit('没有找到formhash');
}



//签到代码
$user = '这里填上你的用户名';//用户名
$pwd = '这里填上你的密码';//密码

//心情:开心,难过,郁闷,无聊,怒,擦汗,奋斗,慵懒,衰
//{"kx","ng","ym","wl","nu","ch","fd","yl","shuai"};
$qdxq = 'kx';//签到时使用的心情
$todaysay = '开心~~~';//想说的话

//论坛首页地址
$baseUrl = '这里填上论坛的地址';//结尾带上”/”
//账号登录地址
$loginPageUrl = $baseUrl.'member.php?mod=logging&action=login';
//账号信息提交地址
$loginSubmitUrl = $baseUrl.'member.php?mod=logging&action=login&loginsubmit=yes&loginhash=LNvu3';
//签到页面地址
$signPageUrl = $baseUrl.'plugin.php?id=dsu_paulsign:sign';
//签到信息提交地址
$signSubmitUrl = $baseUrl.'plugin.php?id=dsu_paulsign:sign&operation=qiandao&infloat=0&inajax=0';

//存放Cookies的文件
$cookie_file = tempnam('./temp','cookie');

//访问论坛登录页面,保存Cookies
$res=curl_get($loginPageUrl, false, true);
//获取DiscuzX论坛的formhash验证串
$formhash = get_formhash($res);

//构建登录信息
$login_array=array(
					'username'=>$user,
                    'password'=>$pwd,
                    'referer'=>$baseUrl,
                    'questionid'=>0,
                    'answer'=>'',
					'formhash'=>$formhash,
					);

//携带cookie提交登录信息
$res=curl_get($loginSubmitUrl ,true, true, null, $login_array);
if(strpos($res, '欢迎您回来'))
{
	//访问签到页面
	$res=curl_get($signPageUrl, true, true);
	//根据签到页面上的文字来判断今天是否已经签到
	if(strpos($res, '您今天已经签到过了或者签到时间还未开始'))
	{
		$resultStr = '今天已签过到';
	}
	else
	{
		//获取formhash验证串
		$formhash = get_formhash($res);
		//构造签到信息
		$post_data = array(
							'qdmode' => 1,
							'formhash' => $formhash,
							'qdxq' => $qdxq,
							'fastreply' => 0,
							'todaysay' => $todaysay,
							);
		//提交签到信息
		$res = curl_get($signSubmitUrl ,true, true, null, $post_data);
		if(strpos($res, '签到成功'))
		{
			$resultStr = '签到成功';
		}
		else
		{
			$resultStr = '签到失败';
		}
	}
}
else
	$resultStr = '登陆失败';
echo $resultStr;
unlink($cookie_file);//删除cookie文件
?>

云签到之虾米音乐自动签到

依旧是1年前放在百度空间上的代码,用的是虾米音乐的wap端口签到,话说这签到代码我用了至少2年了,虾米也一直没变过。。。 其实有了网易云音乐后已经没用过...

阅读全文

云签到之115网盘自动签到&摇奖

在360云盘的乐视云相继下线离线下载后,我就翻出了在不能分享文件后就没用过的115,发现115的离线还挺好用的,而且因为出了永久会员的缘故,年费会员也挺便宜...

阅读全文

11 条评论

      1. 请问一下,关于这个cookies这块,我用谷歌查出来这么多,不知道怎么用,请问这个要怎么使用呢
        document.cookie
        “DX27_d09b_lastvisit=1475584289; DX27_d09b_lastcheckfeed=649138%7C1475587915; BAS4_d09b_lastvisit=1475584331; DX27_d09b_nofavfid=1; DX27_d09b_forum_lastvisit=D_415_1475588530D_26_1475588658D_250_1475815896D_416_1475836582D_143_1476337708; DX27_d09b_visitedfid=513D143D416D415D290D250D512D317D294D302; DX27_d09b_smile=1D1; DX27_d09b_lip=116.52.13.178%2C1476337631; DX27_d09b_1476853534%09home.php%09spacecp; DX27_d09b_connect_is_bind=0”

          1. 谷歌浏览器 得到是这个
            curl_setopt($ch,CURLOPT_COOKIE,$cookie);
            VM178:1 Uncaught ReferenceError: curl_setopt is not defined(…)
            貌似没法。 我找了资料,也没找打。。。

欢迎留言

6 + 5 =