吾爱论坛专用挂机脚本 [基于 VBS POST] [0% CPU占用率]
本帖最后由 乱码 于 2012-7-1 15:27 编辑对于一些在易语言或者VB窗体上放个浏览器控件,然后不断刷新的东西,叫做论坛挂机的话,
我觉得,我的智商被严重的质疑了。
当然,那个可以叫做论坛挂机,但是那东西挂着的话,
如果你在IE或者360下登录论坛,然后退出论坛,你再看看,你的挂机软件是否生效?
所以只有线程级的挂机才是王道。
而且所谓的技术交流,有几个人是开放源码的???
我想他们都不好意思把这么简单的代码放出吧。
也有很多大侠都是无私的,我非常敬佩。
下面这个是以前我自己的脚本改编了一下,
其实我说了很多次了,没人懂我的代码,
我也不奢望大家都懂,但是不至于吾爱就没有人懂了。。
啥也不说了,效果看我的在线时间,你们懂得
希望别再挑战吾爱的底线了,
我终于知道我们的生哥为什么退出吾爱了。
真的,我啥也不想说,只想无私的奉献。
希望在学习的小朋友都不要再挑战吾爱的底线了。
上面是一点点感想,可以跳过不看哦...
VBS源码放出,基于COM组件"Msxml2.ServerXMLHTTP"写的,
所以可以翻译成任何可以调用COM的语言。
0% CPU占用率 0%网络占用 100%后台挂机
不影响正常的吾爱登录退出,始终后台挂机。
Set http = CreateObject("Msxml2.ServerXMLHTTP")
Set reg = New RegExp
reg.IgnoreCase = True
reg.Global = True
reg.MultiLine = True
user= "用户名" '用户名支持中文
pwd = "密码" '密码
qst = "0" '安全提问编号,下面是安全问题对应编号
ans = "答案" '安全提问答案
'0.无安全提问(安全提问答案设为空)
'1.母亲的名字
'2.爷爷的名字
'3.父亲出生的城市
'4.你其中一位老师的名字
'5.你个人计算机的型号
'6.你最喜欢的餐馆名称
'7.驾驶执照最后四位数字
html = httpGet("http://www.52pojie.cn/member.php?mod=logging&action=login&infloat=yes&frommessage&inajax=1")
reg.Pattern = "loginhash=([^""&]+)"
loginhash = reg.Execute(html).Item(0).Submatches(0)
reg.Pattern = "name=.?formhash.?\s+value=['""]?([^""]+)"
formhash = reg.Execute(html).Item(0).Submatches(0)
postUrl= "http://www.52pojie.cn/member.php?mod=logging&action=login&loginsubmit=yes&frommessage&inajax=1&loginhash=" & loginhash
postData = "formhash=" & formhash & "&referer=http%3A%2F%2Fwww.52pojie.cn%2Fhome.php%3Fmod%3Dtask%26do%3Dview%26id%3D2&username=" & URLEncode(user) & "&password=" & URLEncode(pwd) & "&questionid=" & qst & "&answer=" & URLEncode(ans) & "&cookietime=2592000&loginsubmit=%3CSTRONG%3E%B5%C7%C2%BC%3C%2FSTRONG%3E"
html = httpPost(postUrl,postData)
If InStr(html,"欢迎您回来") Then
'WScript.Echo "登录成功。。。"
MsgBox "登录成功,即将开始挂机",64+4096,"开始挂机"
html=httpGet("http://www.52pojie.cn/home.php?mod=task&do=apply&id=2")
If InStr(html,"本期您已申请过此任务") Then
MsgBox "抱歉,本期您已申请过此任务,请下期再来",64+4096,"失败"
Else
MsgBox "签到成功!",64+4096,"成功"
End If
Randomize
refresh 2
Else
WScript.Echo "登录失败。。。"
End If
Function refresh(ByVal minutes)
Do
httpGet "http://www.52pojie.cn/thread-" & CStr(Int(Rnd*130335)+1111) & "-1-1.html"
WScript.Sleep minutes*60000
Loop
End Function
Function httpGet(ByVal url)
http.open "GET", url, False
http.send
httpGet = http.responseText
End Function
Function httpPost(ByVal url,ByVal data)
http.open "POST", url, False
http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
http.send data
httpPost = http.responseText
End Function
Function URLEncode(strURL)
Dim I
Dim tempStr
For I = 1 To Len(strURL)
If Asc(Mid(strURL, I, 1)) < 0 Then
tempStr = "%" & Right(CStr(Hex(Asc(Mid(strURL, I, 1)))), 2)
tempStr = "%" & Left(CStr(Hex(Asc(Mid(strURL, I, 1)))), Len(CStr(Hex(Asc(Mid(strURL, I, 1))))) - 2) & tempStr
URLEncode = URLEncode & tempStr
ElseIf (Asc(Mid(strURL, I, 1)) >= 65 And Asc(Mid(strURL, I, 1)) <= 90) Or (Asc(Mid(strURL, I, 1)) >= 97 And Asc(Mid(strURL, I, 1)) <= 122) Or (Asc(Mid(strURL, I, 1)) >= 48 And Asc(Mid(strURL, I, 1)) <= 57) Then
URLEncode = URLEncode & Mid(strURL, I, 1)
Else
URLEncode = URLEncode & "%" & Hex(Asc(Mid(strURL, I, 1)))
End If
Next
End Function
有朋友反应这个已经无效了、、
我也不知道,没测试、、因为第二版早就出了、所以没有搞这个、
吾爱专用挂机[第二弹] (基于 VBS POST 0% CPU占用率)
http://www.52pojie.cn/thread-148868-1-1.html
本人的其他一些VBS的作品
VBS脚本之 吾爱破解 论坛POST登录脚本
http://www.52pojie.cn/thread-130681-1-1.html
115网盘摇奖脚本
http://www.52pojie.cn/thread-141382-1-1.html
脚本自定义图标工具 v1.1
http://www.52pojie.cn/thread-143100-1-1.html
PS: 有朋友说并没有涉及到线程。的确,VBS怎么会有线程呢,
我的意思是这个组件可以做成线程级的,不像一般的都是进程级的而且还和IE同缓存,导致冲突。
谢谢了,支持原创 谢谢了啊 挺强大! 呵呵! 真是强中自有强中手~~ 真正的线程级挂机,谢谢大家支持... 谢谢楼主 辛苦了 有成品么 我想在其他论坛挂出在线时间哎 谢谢了,支持原创 支持开源,感谢楼主分享 唉..你说的是啊...其实说实在的我们做的软件都有些偷工减料的..支持你..大侠!
我还是新手,刚接触这些东西.如不介意.请赐教 LZ编程道路 条条通罗马. 如果你说
ifstr = "" then
msg "空"
end
与
if str = "" then msg "空"
不一样的话 我也没话可说!
每种语言都有他的优点的,写法当然也就不同了~!
但我知道,编程最讲究,精简。。