Discuz论坛短信群发、动网自动发贴源代码

来源:互联网 发布:java字符串去掉汉字 编辑:程序博客网 时间:2024/05/02 02:45

模拟精灵2005 v6.99 下载地址
------------------------------
yhhe.net 下载: http://www.yhhe.net/Fairy_Ape.exe
1he.net 下载: http://1he.net/Fairy_Ape.exe

二、打开模拟精灵,把下面的代码保存为fap文件,双击运行即可。
或者复制到“源码编辑器”中,点击“编译生成模拟程序”即可。

Discuz论坛短信群发源代码
---------------------------------------------------

<?xml version="1.0" encoding="gb2312" ?>
<ApeML LID="CHS" MD="0" 抓屏模式="0" 名称="Discuz论坛短信群发" 作者="模拟精灵 2005" 信息窗口="true" 速度="10" 循环次数="0" 自定义属性="最大ID = 78114,论坛地址=http://bbs.******.com/,用户名=aaaaa,密码=bbbbbbbb,标题=惊人发现,间隔秒数 = 31">
<!--创建时间:2006年05月05日-22:36-->
<脚本区块 语言="LAScript" 名称="短信群发" 延时="0" 启用="true" 编辑密钥="" 运行公钥="">
<![CDATA[

--请在这里设置要发送的短信内容
_text = [[给您介绍一个最新的免费绿色超强大的模拟软件
官方网站http://www.yhhe.net/ape/

您收到的消息由软件自动发送,
您可以在几分钟内做出类似的程序。]]

--读取所有用户设置

_set = ape:loadSetting();
_bbs = _set["论坛地址"]
_user = _set["用户名"]
_pw = _set["密码"]
_ts = tonumber( _set["间隔秒数"] );
_maxid = tonumber( _set["最大ID"] );
_title = _set["标题"]

-- 打开登录页面
wb = web(_bbs.."logging.php?action=login");

-- 如果要隐藏窗口工作,去掉下面这一句
wb:show(true);

ele = wb:getEle("username");
ele:setAttribute("value",_user);

ele = wb:getEle("password");
ele:setAttribute("value",_pw);

--点击登录按键 这里用 ele:submit() 会失败
ele = wb:getEle("loginsubmit");
ele:click()

--等待登录完成并转向index.php首页
wb:wait("index.php");


for i=_maxid,1,-1 do
win.messagePrint("当前ID:"..i)
wb:go(_bbs.."pm.php?action=send&uid="..i);
wb:wait("");

ele = wb:getEle("subject");
if(not ele)then --如果掉线了,就可以找不到这个节点,退出当前循环并重新登录
_set["最大ID"] = i; -- 保存最后一次发送的用户ID
break; --中断for循环
end;

ele:setAttribute("value",_title);
element.del(ele);--释放节点,这句可省略

ele = wb:getEle("message");
ele:setTextin(_text);
element.del(ele); --释放节点,这句可省略

ele = wb:getEle("pmsubmit");
ele:click();
ele = nil;--web页已改变已经自动del,这里只要赋值为nil即可,这句可省略

delay(_ts * 1000);
if( not nStop() ) then --如果用户按了停止
_set["最大ID"] = i; -- 保存最后一次发送的用户ID
break; --中断for循环
end;
end;

-- 保存最后一次发送的用户ID
ape:saveSetting(_set);

]]>
</脚本区块>
<数据区块 />
</ApeML>


动网自动发贴源代码
---------------------------------------------------

下面是一个简单的例子,演示通过wb:go自动post发贴(不需要页面提交)。
关于这个函数的用法可以参考贴子:http://www.yhhe.net/bbs/dispbbs.asp?boardID=4&ID=2427&page=1

<?xml version="1.0" encoding="gb2312" ?>
<ApeML LID="CHS" MD="0" 抓屏模式="0" 名称="动网自动发贴" 作者="模拟精灵 2005" 信息窗口="true" 速度="10" 循环次数="1" 自定义属性="用户选项=0">
<!--创建时间:2006年05月04日-10:51-->
<脚本区块 语言="LAScript" 名称="init" 延时="0" 启用="true" 编辑密钥="" 运行公钥="">
<![CDATA[

--在这里设置发贴参数

_site = "http://www.****.com/bbs";
_username="测试用户名";
_body = "自动发的贴子";
_topic = "模拟精灵发贴测试";
_passwd ="1111111111111111111";

-- setDL函数可能用到的常量

_DLCTL_VIDEOS = 0x00000020 --视频
_DLCTL_NO_RUNACTIVEXCTLS = 0x00000200 --禁止运行ActiveX 控件
_DLCTL_NOFRAMES = 0x00080000 --禁用框架
_DLCTL_NO_SCRIPTS = 0x00000080 --禁用脚本

--创建web窗体
wb2 = web.new(_site.."/login.asp");

--读取用户名输入框
ele = wb2:getEle("username");
--输入用户名
ele:setAttribute("value",_username);
--读取密码输入框
ele = wb2:getEle("password");
--输入密码
ele:setAttribute("value",_passwd);

web.show(wb2,true)
win.messagePrint("请登录论坛......")
--等待登录
wb2:wait("action=chk");

--wb2:setDL(_DLCTL_VIDEOS |_DLCTL_NO_RUNACTIVEXCTLS |_DLCTL_NOFRAMES |_DLCTL_NO_SCRIPTS);
wb2:setSilent(true,true,true,true)

win.messagePrint("正在发贴.......")
--这里用的是wb2:go函数自动post,不需要页面提交的方式。
wb2:go(_site.."/SavePost.asp?Action=snew&boardid=4","_self","Referer: ".._site.."/post.asp?action=new&boardid=4/r/nContent-Type: application/x-www-form-urlencoded","upfilerename=&Body=".._body.."&dvbbs=DvForum&star=1&page=1&TotalUseTable=dv_bbs1&username=".._username.."&passwd=**********&font=&topic=".._topic.."&Expression=face1.gif&autofix=1&GetPostType=&ToMoney=&Buy_Orders=-1&Buy_VIPType=0&Buy_UserList=&signflag=yes&emailflag=0")
wb2:wait("")

win.messagePrint("发贴完成")

]]>

原创粉丝点击