|

分享源码
界面截图: |
|
是否带模块: |
- |
备注说明: |
- |
易语言论坛免验证源码例程程序结合易语言WINHTTP对象实现免验证功能。
点评:易语言论坛免验证源码对于学习GET和POST有所帮助。- .版本 2
- ' -----------全局设置-----------------
- 论坛账号 = “qwb”
- 论坛密码 = “591138620”
- http.创建 (“WinHttp.WinHttpRequest.5.1”, )
- ' -------------监测网络-----------------
- .判断循环首 (GET (“http://www.baidu.com/”) = { })
- .计次循环首 (100, )
- 延时 (100)
- .计次循环尾 ()
- .判断循环尾 ()
- ' --------------------------------------
- .循环判断首 ()
- verify = GET (“http://bbs.eyuyan.com/ck.php?nowtime=1”)
- code = 到文本 (POST (“http://xyao.in/api/bbs.php”, “img=” + bin2hex (verify)))
- .如果真 (code = “接口已过期”)
- 信息框 (“接口已过期,请进QQ群241811959获取新的接口”, 0, “易语言免验证码全自动打卡”)
- 结束 ()
- .如果真结束
- html = 到文本 (POST (“http://bbs.eyuyan.com/login.php?”, “forward=&jumpurl=http%3A%2F%2Fbbs.eyuyan.com%2Findex.php&step=2&pwuser=” + 论坛账号 + “&pwpwd=” + 论坛密码 + “&question=0&customquest=&answer=&gdcode=” + code + “&hideid=0&cktime=31536000&submit=”))
- .如果真 (寻找文本 (html, “用户名或密码错误”, , 假) > 0)
- 信息框 (“论坛账户信息错误,请重新确认!”, 0, “易语言免验证码全自动打卡”)
- .如果真结束
- .循环判断尾 (寻找文本 (html, “验证码不正确或已过期”, , 假) > 0)
- .如果 (寻找文本 (html, “>您已经顺利登录</p>”, , 假) > 0)
- html = 到文本 (GET (“http://bbs.eyuyan.com/index.php”))
- code = 截取文本 (html, “verifyhash = '”, “'”)
- html = 到文本 (POST (“http://bbs.eyuyan.com/jobcenter.php?action=punch&verify=” + code + “&nowtime=1342332399987&verify=” + code, “step=2”))
- .如果 (寻找文本 (html, “'铜币+5'”, , 假) > 0)
- 信息框 (“易语言打卡成功!”, 0, “易语言免验证码全自动打卡”)
- .否则
- 信息框 (“打卡失败,可能是今天已经打过了~”, 0, “易语言免验证码全自动打卡”)
- .如果结束
- .否则
- 信息框 (“未知错误,登录失败!”, 0, “易语言免验证码全自动打卡”)
- .如果结束
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 GET, 字节集, 公开
- .参数 url, 文本型
- http.方法 (“Open”, “GET”, url, 真)
- http.方法 (“SetRequestHeader”, “Accept”, “*/*”)
- http.方法 (“SetRequestHeader”, “Accept_Language”, “zh-CN”)
- http.方法 (“SetRequestHeader”, “User-Agent”, “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0)”)
- http.方法 (“Send”, )
- http.方法 (“WaitForResponse”, 1000)
- 返回 (http.读属性 (“ResponseBody”, ).取字节集 ())
- .子程序 POST, 字节集, 公开
- .参数 url, 文本型
- .参数 data, 文本型
- http.方法 (“Open”, “POST”, url, 真)
- http.方法 (“SetRequestHeader”, “Accept”, “*/*”)
- http.方法 (“SetRequestHeader”, “Accept_Language”, “zh-CN”)
- http.方法 (“SetRequestHeader”, “Content-Type”, “application/x-www-form-urlencoded”)
- http.方法 (“SetRequestHeader”, “User-Agent”, “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0)”)
- http.方法 (“Send”, data)
- http.方法 (“WaitForResponse”, 1000)
- 返回 (http.读属性 (“ResponseBody”, ).取字节集 ())
- .子程序 bin2hex, 文本型, 公开
- .参数 content, 字节集
- .局部变量 i, 整数型
- .局部变量 s, 文本型
- .局部变量 n, 文本型
- .计次循环首 (取字节集长度 (content), i)
- n = 取十六进制文本 (content [i])
- .如果真 (取文本长度 (n) = 1)
- n = “0” + n
- .如果真结束
- s = s + n
- .计次循环尾 ()
- 返回 (到小写 (s))
- .子程序 截取文本, 文本型, 公开
- .参数 完整文本, 文本型
- .参数 左边文本, 文本型
- .参数 右边文本, 文本型, 可空
- .参数 开始位置, 整数型, 可空
- .参数 区分大小, 逻辑型, 可空
- .参数 右边位置, 整数型, 参考 可空
复制代码 |
|