|
|

12精币
我感觉应该是没问题的,但不知道为什么一直提示输入验证码,可能是我太菜了吧..。请大家帮我看下,谢谢[e]
.版本 2
.支持库 internet
.支持库 spec
.程序集 窗口程序集1
.子程序 _按钮1_被单击
.局部变量 返回文本, 文本型
.局部变量 正则, 正则表达式类
.局部变量 hexpwd, 文本型
.局部变量 sid, 文本型
.局部变量 r, 文本型
.局部变量 图片号, 文本型
.局部变量 rsid, 文本型
.局部变量 ip, 文本型
.局部变量 图片地址, 文本型
.局部变量 cookis, 文本型
.局部变量 提交数据, 文本型
.局部变量 协议头, 文本型
.局部变量 SID2, 文本型
.局部变量 vdata, 文本型
.局部变量 图片号2, 文本型
返回文本 = 到文本 (网页_访问 (“http://pt.3g.qq.com/s?aid=nLoginnew&q_from=3GQQ”, , , , , , , 协议头, 1, cookis))
正则.创建 (“r=(.*?)&”, 返回文本)
SID2 = 正则.取子匹配文本 (1, 1)
正则.创建 (“vdata=(.*?)” + #引号, 返回文本)
vdata = 正则.取子匹配文本 (1, 1)
提交数据 = “qq=” + 编辑框2.内容 + “&pwd=” + 编辑框3.内容 + “&bid_code=3GQQ&toQQchat=true&login_url=http%3A%2F%2Fpt.3g.qq.com%2Fs%3Faid%3DnLoginnew%26q_from%3D3GQQ&q_from=3GQQ&modifySKey=0&loginType=1&aid=nLoginHandle”
返回文本 = 到文本 (网页_访问 (“http://pt.3g.qq.com/psw3gqqLogin?r=” + SID2 + “&vdata=” + vdata, 1, , , 到字节集 (提交数据), , , 协议头, 1, cookis, ))
.如果 (寻找文本 (返回文本, “看不清”, , 假) ≠ -1)
返回文本 = 子文本替换 (返回文本, #引号, “”, , , 真)
正则.创建 (“value=(.*?)/>”, 返回文本)
hexpwd = 正则.取子匹配文本 (1, 1)
正则.创建 (“handleLogin.sid=(.*?)&”, 返回文本)
sid = 正则.取子匹配文本 (1, 1)
正则.创建 (“nvcsz.gtimg.com/(.*?)/(.*?).gif.r=(.*?) alt=验证码”, 返回文本)
图片号2 = 正则.取子匹配文本 (1, 1)
图片号 = 正则.取子匹配文本 (1, 2)
r = 正则.取子匹配文本 (1, 3)
正则.创建 (“r_sid value=(.*?)/>”, 返回文本)
rsid = 正则.取子匹配文本 (1, 1)
正则.创建 (“rip value=(.*?)/>”, 返回文本)
ip = 正则.取子匹配文本 (1, 1)
图片地址 = “http://nvcsz.gtimg.com/” + 图片号2 + “/” + 图片号 + “.gif?r=” + r
置剪辑板文本 (图片地址)
' 信息框 (图片地址, 0, )
图片框1.图片 = HTTP读文件 (图片地址)
.判断循环首 (取文本长度 (编辑框4.内容) ≠ 4)
延迟 (100)
.判断循环尾 ()
编辑框4.内容 = “”
提交数据 = “qq=” + 编辑框2.内容 + “&u_token=” + 编辑框2.内容 + “&hexpwd=” + hexpwd + “&sid=” + sid + “&hexp=true&nopre=&auto=0&loginTitle=%E6%89%8B%E6%9C%BA%E8%85%BE%E8%AE%AF%E7%BD%91&q_from=3GQQ&modifySKey=0&q_status=10&r=” + r + “&loginType=1&login_url=http%3A%2F%2Fpt.3g.qq.com%2Fs%3Faid%3DnLoginnew%26q_from%3D3GQQ&extend=http%3A%2F%2Fnvcsz.gtimg.com%2F” + 编辑框2.内容 + “%2F” + 图片号 + “&r_sid=” + rsid + “&bid_code=3GQQ&bid=0&toQQchat=true&rip=” + ip + “&verify=” + 编辑框4.内容 + “&submitlogin=%E9%A9%AC%E4%B8%8A%E7%99%BB%E5%BD%95”
返回文本 = 到文本 (网页_访问 (“http://pt.3g.qq.com/handleLogin?sid=” + sid + “&vdata=” + vdata, 1, , 协议头, 到字节集 (提交数据), , , 协议头, 1, ))
.否则
.如果结束
编辑框1.内容 = 返回文本
.子程序 __启动窗口_将被销毁
结束 ()
[/e] |
最佳答案
查看完整内容
第一:把编辑框4.内容 = “” 放在最后面!因为你再提交数据之前把编辑框的内容清空了!所以每次都是验证码为空!
第二: 把协议头去掉!
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。 友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。 快捷通道:申请荣誉值 →
|