贴吧自动签到
<?php date_default_timezone_set('PRC'); set_time_limit(0); echo "=========【".date('Y-m-d H:i:s')."】========="."\r\n"; //身份标识 $bduss=""; /*定义自定义函数*/ function xCurl($url,$cookie=null,$postdata=null,$header=array()){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); if (!is_null($postdata)) curl_setopt($ch, CURLOPT_POSTFIELDS,$postdata); if (!is_null($cookie)) curl_setopt($ch, CURLOPT_COOKIE,$cookie); if (!empty($header)) curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 50); $re = curl_exec($ch); curl_close($ch); return $re; }; /*贴吧客户端请求头*/ $tieba_header = array( 'Content-Type: application/x-www-form-urlencoded', 'Charset: UTF-8', 'net: 3', 'User-Agent: bdtb for Android 8.4.0.1', 'Connection: Keep-Alive', 'Accept-Encoding: gzip', 'Host: c.tieba.baidu.com', ); /*浏览器请求头*/ $firefox_header = array( 'Host: tieba.baidu.com', 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0', 'Accept: */*', 'Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3', 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8', 'Referer: http://tieba.baidu.com/', 'Connection: keep-alive', ); //获取tbs $re=json_decode(xCurl('http://tieba.baidu.com/dc/common/tbs','BDUSS=' . $bduss,null,$firefox_header),true); if (! $re['is_login']) { echo "bduss 失效!"; exit; } //组织提交参数 $tbs = $re['tbs']; $postdata = array ('BDUSS='.$bduss,'tbs=' . $tbs); $postdata = implode('&', $postdata).'&sign='.md5(implode('', $postdata).'tiebaclient!!!'); //执行签到操作 function dosign($bduss,$tbs,$postdata,$tieba_header){ //获取关注贴吧列表 for ($pageno = 1; 1 ; $pageno ++){ $postdata='BDUSS='.urlencode($bduss).'&_client_version=8.1.0.4'.'&page_no=' . $pageno.'&page_size=100'.'&sign='.md5('BDUSS='.$bduss.'_client_version=8.1.0.4'.'page_no='.$pageno.'page_size=100'.'tiebaclient!!!'); $res = json_decode(gzdecode(xCurl('http://c.tieba.baidu.com/c/f/forum/like','ca=open',$postdata,$tieba_header)),true); //循环执行签到 foreach ($res['forum_list']['non-gconforum'] as $list) { echo '尝试签到[' . $list['name'].']吧:'; $ret = json_decode(gzdecode(xCurl('http://c.tieba.baidu.com/c/c/forum/sign','ca=open','BDUSS='.urlencode($bduss).'&fid='.$list['id'].'&kw='.urlencode($list['name']).'&sign='.md5('BDUSS='.$bduss.'fid='.$list['id'].'kw='.$list['name'].'tbs='.$tbs.'tiebaclient!!!').'&tbs='.$tbs,$tieba_header)),true); if ($ret['error_code'] == '0'){ echo '签到完成,经验值加' . $ret['user_info']['sign_bonus_point'] . ',你是今天第' . $ret['user_info']['user_sign_rank'] . '个签到的。'."\r\n"; }else{ echo $ret['error_msg'] . '。'."\r\n"; } } if ($res['has_more'] == '0'){ break; } } } dosign($bduss,$tbs,$postdata,$tieba_header); //执行超级签到,并获取签到结果 //$res = json_decode(xCurl('http://tieba.baidu.com/tbmall/onekeySignin1','BDUSS='.$bduss,'ie=utf-8&tbs='.$tbs,$firefox_header),true); // echo '签到完成!已签' . @$res['data']['signedForumAmount'] . '个吧,' . @$res['data']['unsignedForumAmount'] . '个吧未签。'."\r\n\r\n"; // //检测是否全部签到成功 // if(!empty($res['data'])&&!empty($res['data']['unsignedForumAmount'])){ // echo $res['data']['unsignedForumAmount']."个贴吧签到失败,执行重签。"."\r\n"; // dosign($bduss,$tbs,$postdata,$tieba_header); // }
相关推荐
-
thinkphp上传图片,生成缩略图 php
2019-1-7
-
转换秒钟为分钟 php
2019-1-8
-
查询并去除重复二维数组(某个字段筛选) php
2019-1-8
-
PHP遍历目录 php
2019-1-8
-
PHP生成短连接的方法 php
2019-1-7
-
获取指定日期前后相同时间天数的时间范围 php
2019-1-8
-
php根据身份证号,自动返回对应的星座 php
2019-1-7
-
php图片上传方法 php
2019-1-8
-
身份证号码验证.php php
2019-1-7
-
PHP简单 对象(object) 与 数组(array) 的转换 php
2019-1-7