Zhuogu

Untitled

Oct 14th, 2012
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*********************************************************************************
  2. ------2012.08.01  v0.0------
  3. 签到发布
  4. ------2012.08.04  v0.1------
  5. 更新1:修正第一个贴吧不能签到的bug
  6. ------2012.08.22  v0.2------
  7. 更新1:解决I贴吧布局改变后不能签到的情况
  8. ------2012.08.30  v0.3------
  9. 更新1:优化签到时间,签过和不能签的改成等待1秒...
  10. 更新2:签到的贴吧显示签到的名次
  11. 更新3:签到的名次用红色的字符显示
  12. ------2012.09.01  v0.4------
  13. 更新1:修正图片类贴吧不能签到的情况
  14. 更新2:修改建议吧友的链接为新开标签打开
  15. 更新3:修改在有背景的贴吧点开本签到时,背景为贴吧背景看不清字的情况
  16. ------2012.09.02  v0.5------
  17. 更新1:添加转向各贴吧的链接,方便签到失败时候手动签到
  18. ------2012.09.03  v0.6------
  19. 更新1:增加被封禁贴吧显示异常的提示
  20. ------2012.09.25  v0.7------
  21. 更新1:增加对几种签到错误的现象正常显示并重复签到至成功
  22. *********************************************************************************/
  23. document.body.style.fontFamily ="微软雅黑";
  24. document.body.style.fontSize ="10pt";
  25. document.body.style.background ="#ffffff";
  26. document.body.innerHTML="";
  27.  
  28. var ajax=false;
  29. var rewords="";
  30. var ba;
  31. var rt="ok";
  32. var bai;
  33. var bas=[];
  34.  
  35. if(window.XMLHttpRequest){//非IE,包括(IE7,IE8)
  36.     ajax=new XMLHttpRequest();
  37. }
  38. else if(window.ActiveXObject){//IE
  39.     var versions=['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
  40.     for(var i=0; i<versions.length; i++){
  41.             try{
  42.                 ajax=new ActiveXObject(versions[i]);
  43.             }
  44.             catch(e){
  45.                 ajax=false;
  46.             }
  47.     }
  48. }
  49. if(ajax==false){
  50.     document.body.innerHTML+="遇到未知问题,程序不能继续下去!";
  51. }
  52. else{
  53.    
  54.     // document.body.innerHTML+="<span style='color:red;'>代码修改中,期间使用本签到可能出现故障,请稍候再用</span><br>";
  55.     document.body.innerHTML+="<span style='color:red;'>特别注意:请在自动签到的时候,放慢你的发帖和回复速度,防止应为操作过频被度受和谐ID。</span><br>";
  56.     document.body.innerHTML+="程序开始工作...<br>---开始收集I贴吧中的贴吧名,请等待 ......<br>";
  57.     countba();//开始运行
  58. }
  59. function checksigned(urlStr){
  60.  
  61.     bai++;
  62.     if(bai>ba.length){
  63.         document.body.innerHTML+="<br>签到完毕!";
  64.         return 0;
  65.     }else{
  66.         document.body.innerHTML+="<br>+<a href=\"http://tieba.baidu.com/f?kw="+ba[bai-1]+"&ie=utf-8&tp=0\" target=\"_blank\">"+ba[bai-1]+"吧</a>";
  67.     }
  68.    
  69.     ajax.onreadystatechange=function(){
  70.         if(ajax.readyState == 4){
  71.             if(ajax.status == 200){
  72.                 rewords=ajax.responseText;
  73.                 var aa=cutchar(rewords,"<span class=\"sign_index_num j_signin_index\">","</span>");
  74.                 var tbs=cutchar(rewords,"PageData.tbs = \"","\";");
  75.                
  76.                 if(cutchar(rewords,"PageData.user.is_block = ",";//是否已封禁")=="1"){
  77.                     document.body.innerHTML+="--您在本吧<span style='color:red;'>被封禁,不能签到!</span>";
  78.                     document.body.innerHTML+="---防止度受和谐,等待0.5s ing...<br>";
  79.                     setTimeout("checksigned(\""+ba[bai]+"\");",500);
  80.                     return 0;  
  81.                 }
  82.                
  83.                 if(rewords.indexOf("<span class=\"sign_index_num j_signin_index\">")<0){
  84.                     document.body.innerHTML+="--本吧还没开放签到系统!";
  85.                     document.body.innerHTML+="---防止度受和谐,等待0.5s ing...<br>";
  86.                     setTimeout("checksigned(\""+ba[bai]+"\");",500);
  87.                     return 0;  
  88.                 }                  
  89.                 if(aa=="0"){
  90.                     document.body.innerHTML+="--还没签到!";
  91.                     signed(ba[bai-1],tbs);
  92.                     //alert(rt);
  93.                     if(rt=="ok")    var  waittime=3000;
  94.                     else if(rt=="err0") var  waittime=3000;
  95.                     else    var  waittime=3000;
  96.                     setTimeout("checksigned(\""+ba[bai]+"\");",waittime);
  97.                 }
  98.                 else{
  99.                     document.body.innerHTML+="--本吧已签到!";
  100.                     document.body.innerHTML+="--今日,你是本吧第 <span style='color:red;'>"+aa+"</span> 个签到!";
  101.                     document.body.innerHTML+="---防止度受和谐,等待0.5s ing...<br>";
  102.                     setTimeout("checksigned(\""+bas[bai]+"\");",500);
  103.                 }
  104.                 return 0;
  105.             }
  106.         }
  107.     };
  108.     if(ajax){
  109.         ajax.open("get", "http://tieba.baidu.com/f?kw="+ba[bai-1]+"&ie=utf-8&tp=0");
  110.         ajax.send(null);
  111.     }else{
  112.         ajax.open("get", "http://tieba.baidu.com/f?kw="+ba[bai-1]+"&ie=utf-8&tp=0", true);
  113.         ajax.send();
  114.     }
  115. }
  116.  
  117. function signed(urlStr,tbs){
  118.     ajax.onreadystatechange=function(){
  119.         if(ajax.readyState == 4){
  120.             if(ajax.status == 200){
  121.                 rewords=ajax.responseText;
  122.                 var ranks=cutchar(rewords,"\"user_sign_rank\":",",");
  123.                 if(ranks.length<6){
  124.                     document.body.innerHTML+="--签到完毕,您是第 <span style='color:red;'>"+ranks+"</span> 个签到的...";
  125.                     document.body.innerHTML+="---防止度受和谐,等待3s ing...<br>";
  126.                     rt =  "ok";
  127.                 }
  128.                 else if(ranks=="r\":\"\\u60a8\\u5c1a\\u5728\\u9ed1\\u540d\\u5355\\u4e2d\\uff0c\\u4e0d\\u80fd\\u64cd\\u4f5c\\u3002\""){
  129.                     document.body.innerHTML+="--<span style='color:red;'>您尚在黑名单中,不能操作.....</span> ";
  130.                     document.body.innerHTML+="---防止度受和谐,等待0.5s ing...<br>";
  131.                     rt =  "err00";
  132.                 }
  133.                 else if(anks=="r\":\"\\u5927\\u5bb6\\u90fd\\u5728\\u62a2\\u7b2c1\\uff0c\\u51fa\\u624b\\u6162\\u4e86\\u70b9\\uff0c\\u518d\\u7b7e\\u4e00\\u6b21\\u8bd5\\u8bd5\""){
  134.                     document.body.innerHTML+="--<span style='color:red;'>大家都在抢第1,出手慢了点,再签一次试试</span> --正在尝试重新签到...";
  135.                     document.body.innerHTML+="---防止度受和谐,等待0.5s ing...<br>";
  136.                     bai--;
  137.                     rt =  "err01";
  138.                 }
  139.                 else if(anks=="r\":\"\\u7b7e\\u5230\\u592a\\u9891\\u7e41\\u4e86\\u70b9\\uff0c\\u4f11\\u606f\\u7247\\u523b\\u518d\\u6765\\u5427\""){
  140.                     document.body.innerHTML+="--<span style='color:red;'>签到太频繁了点,休息片刻再来吧...</span> --正在尝试重新签到...";
  141.                     document.body.innerHTML+="---防止度受和谐,等待0.5s ing...<br>";
  142.                     bai--;
  143.                     rt =  "err02";
  144.                 }
  145.                 else {
  146.                     document.body.innerHTML+="--签到失败,请将以下红色的错误信息以文字的方式反馈到专贴中,以便得到解决,谢谢你的支持: <span style='color:red;'>"+ranks+"</span> ";
  147.                     document.body.innerHTML+="---防止度受和谐,等待0.5s ing...<br>";
  148.                     rt =  "err";
  149.                 }
  150.             }
  151.         }
  152.     };
  153.    
  154.  
  155.     document.body.innerHTML+="--开始签到...";
  156.     ajax.open("post","http://tieba.baidu.com/sign/add");
  157.     ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  158.     ajax.send("kw="+urlStr+"&ie=utf-8&tbs="+tbs);
  159.  
  160. }
  161.  
  162. //查贴吧数量
  163. function countba(){
  164.     ajax.onreadystatechange=function(){
  165.         if(ajax.readyState == 4){
  166.             if(ajax.status == 200){
  167.                 rewords=ajax.responseText;
  168.                 ba=rewords.split("<a class=\"j_ba_link often_forum_link\"");
  169.                
  170.                 for(var i=1;i<ba.length;i++){
  171.                     bas[i-1]=cutchar(ba[i],"forum=\"","\"");
  172.                     var aa=cutchar(ba[i],">","</a>");
  173.                     if(aa.indexOf("...")>=4)
  174.                         var aa=cutchar(ba[i],"title=\"","\"");
  175.                     ba[i]=aa;  
  176.                 }
  177.                 document.body.innerHTML+="估测完毕:您喜欢的贴吧有"+(ba.length)+"个,最长将花费时间"+parseInt(ba.length*6/60)+"分"+(ba.length*6%60)+"秒";
  178.                
  179.                 bai=1;
  180.                 checksigned(bas[bai]);
  181.             }
  182.         }
  183.     };
  184.     if(ajax){
  185.         ajax.open("get", "http://tieba.baidu.com/");
  186.         ajax.send(null);
  187.     }else{
  188.         ajax.open("get", "http://tieba.baidu.com/", true);
  189.         ajax.send();
  190.     }
  191. }
  192.        
  193.        
  194. function cutchar(allstr,prechar,endchar){
  195.     var preposition=allstr.indexOf(prechar)+prechar.length;
  196.     var strlength=allstr.indexOf(endchar,preposition);
  197.     return allstr.substring(preposition,strlength);
  198. }
  199.  
  200. function isCon(arr, val){
  201.     for(var i=0; i<arr.length; i++){
  202.         if(arr[i] == val)
  203.             return i-1;
  204.     }
  205.     return 0;
  206. }
  207.  
  208. function changeStr(allstr,cbit,changeStr){
  209.       return allstr.substring(0,cbit)+changeStr+allstr.substring(cbit+1,allstr.length);
  210.    }
Advertisement
Add Comment
Please, Sign In to add comment