分享源码
界面截图:
是否带模块:
-
备注说明:
-
原本想自己做来商业销售的,但是想想时间关系还是不放了,源码我就直接发了,自己复制放带易语言 里面,缺少什么自己补上去,主要就是登录协议,获取还是发送,懂得POST和GET的应该可以看得懂.,如果是伸手党的话我看抱歉啦,我发的东西你用不了.
登录.版本 2
.支持库 json
.支持库 ThreadPool_fne
.支持库 spec
.支持库 CnCalendar
.局部变量 QQ号码, 文本型
.局部变量 QQ密码, 文本型
.局部变量 安全码, 文本型
.局部变量 http, WEB客户
.局部变量 返回文本, 文本型
.局部变量 json, JSON
.局部变量 sid, 文本型
.局部变量 extend, 文本型
.局部变量 rsid, 文本型
.局部变量 验证码, 文本型
.局部变量 u_token, 文本型
.判断循环首 (真)
工作_获取号码 (QQ号码, QQ密码, 安全码)
_QQ号码 = QQ号码
验证码 = “”
.判断循环首 (真)
.如果 (验证码 = “”)
http.处理COOKIE (假)
http.打开 (“GET”, “http://pt.3g.qq.com/json/login3gonly.jsp?qq=” + QQ号码 + “&md5p=” + 密_md5 (到字节集 (QQ密码)) + “&callback=Mqq.util.login.resHandler&r=5485”)
http.附加协议 (“User-Agent”, “MQQBrowser/3.1/Mozilla/5.0 (Linux; U; Android 4.0.3; zh-cn; HTC One X Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30”)
http.附加协议 (“Q-UA”, “ADRQB31_GA/310255&AMTT_3/010255&ADR&457414&HTCOneX&73102&6288&Android4.0.3&V3”)
http.发送 (, 5000, 5000, 5000)
返回文本 = 编码转换_Utf8转ansi (http.取字节集 ())
' 调试输出 (返回文本)
.否则
http.处理COOKIE (假)
http.打开 (“GET”, “http://pt.3g.qq.com/json/login3gonly.jsp?qq=” + QQ号码 + “&md5p=” + 密_md5 (到字节集 (QQ密码)) + “&verify=” + 验证码 + “&r_sid=” + rsid + “&u_token=” + u_token + “&callback=Mqq.util.login.resHandler&r=5485”)
http.附加协议 (“User-Agent”, “MQQBrowser/3.1/Mozilla/5.0 (Linux; U; Android 4.0.3; zh-cn; HTC One X Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30”)
http.附加协议 (“Q-UA”, “ADRQB31_GA/310255&AMTT_3/010255&ADR&457414&HTCOneX&73102&6288&Android4.0.3&V3”)
http.发送 (, 5000, 5000, 5000)
返回文本 = 编码转换_Utf8转ansi (http.取字节集 ())
' 调试输出 (返回文本)
.如果结束
.判断开始 (寻找文本 (返回文本, “成功”, , 假) ≠ -1)
登录验证码中 = 假
sid = 取指定内容 (返回文本, “sid” + #引号 + “:” + #引号, #引号) ' 取出SId
json.解析 (“[]”)
json.置属性 (“QQ号码”, QQ号码)
json.置属性 (“sid”, sid)
队列_工作.加成员 (json)
线程_判断 = 线程_判断 + 1
线程池_工作.投递任务 (&线程_发送邮件, 队列_工作.成员数 () - 1, 0)
调试输出 (QQ号码, QQ密码)
.如果真 (取文本长度 (验证码) > 2)
工作_添加输入 (格式化日期 (取现行时间 (), 字符 (37) + 字符 (121) + 字符 (45) + 字符 (37) + 字符 (109) + 字符 (45) + 字符 (37) + 字符 (100)), 安全码)
.如果真结束
跳出循环 ()
.判断 (寻找文本 (返回文本, “请输入验证码”, , 假) ≠ -1)
extend = 取指定内容 (返回文本, “extend” + #引号 + “:” + #引号, #引号)
rsid = 取指定内容 (返回文本, “rsid” + #引号 + “:” + #引号, #引号)
u_token = 取指定内容 (返回文本, “u_token” + #引号 + “:” + #引号, #引号)
http.处理COOKIE (假)
http.打开 (“GET”, extend + “.jpg”)
http.发送 (, , , )
图片框1.图片 = http.取字节集 ()
执行验证码 = 假
皮肤.置状态栏数据 (窗口_主窗口.取窗口句柄 (), 1, “请输入验证码.”, , #红色)
编辑框_验证码.禁止 = 假
编辑框_验证码.内容 = “”
.判断循环首 (真)
.如果真 (群验证码中 = 假)
跳出循环 ()
.如果真结束
.判断循环尾 ()
登录验证码中 = 真
.判断循环首 (真)
.如果真 (取文本长度 (编辑框_验证码.内容) ≥ 4)
跳出循环 ()
.如果真结束
Sleep (5)
.判断循环尾 ()
编辑框_验证码.禁止 = 真
验证码 = 编辑框_验证码.内容
.判断 (寻找文本 (返回文本, “您填写的帐号或密码不正确”, , 假) ≠ -1)
登录验证码中 = 假
工作_处理号码 (QQ号码, “密码错误”)
跳出循环 ()
.默认
登录验证码中 = 假
工作_处理号码 (QQ号码, “未知问题”)
跳出循环 ()
.判断结束
.判断循环尾 ()
' 跳出循环 ()
.判断循环尾 () 复制代码 消息盒子的代码.版本 2
.支持库 json
.支持库 spec
.子程序 发送代码
.局部变量 http, WEB客户
.局部变量 发送方式, 整数型
.局部变量 QQ号码, 文本型
.局部变量 ruin, 文本型
.局部变量 i
发送方式 = 0
QQ号码 = “214980498”
ruin = “bf993e139f826c086ba74108f6282a73”
.如果 (发送方式 = 0)
i = 5
.否则
i = 1
.如果结束
.计次循环首 (i, )
.如果 (发送方式 = 0)
http.打开 (“POST”, “http://msgbox.imtt.qq.com/?action=sendQQMsg”)
.否则
http.打开 (“GET”, “http://msgbox.imtt.qq.com/?action=sendQQMsg&toqqNo=” + QQ号码)
.如果结束
http.附加协议 (“User-Agent”, “MQQBrowser/3.1/Adr (Linux; U; 2.3.7; zh-cn; LT26i Build/6.0.A.3.67;720*1280)”)
http.附加协议 (“Q-UA”, “ADRQB31_GA/310255&AMTT_3/010255&ADR&458014<26i&20201&6288&Android2.3.7&V3”)
http.附加协议 (“QCookie”, “sid=AY-0GY0VVDWWcUiMiJOkmAkw;”)
.如果 (发送方式 = 0)
http.发送 (“msg=QQ%E7%BE%A4%E5%8F%91%E6%B5%8B%E8%AF%95%2C%E4%B8%8D%E8%B8%A2%E4%B8%8B%E7%BA%BF%2C%E4%B8%8D%E5%BD%B1%E5%93%8DQQ%E4%BD%BF%E7%94%A8.&toqqNo=” + QQ号码 + “&flag=1&ruin=” + ruin, , , )
.否则
http.发送 (, , , )
.如果结束
调试输出 (编码转换_Utf8转ansi (http.取字节集 ()))
.计次循环尾 () 复制代码