开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: 痛恨一生
收起左侧

微信Post/Get的封包,论坛还没有发布

  [复制链接]
结帖率:100% (2/2)
发表于 2014-4-25 17:52:52 | 显示全部楼层   北京市北京市
[e]
.版本 2
.支持库 EThread
.支持库 internet
.支持库 spec

.程序集 窗口程序集
.程序集变量 UID, 文本型
.程序集变量 cookie, 文本型
.程序集变量 协议头, 文本型
.程序集变量 skey, 文本型
.程序集变量 wxuin, 文本型
.程序集变量 Sid, 文本型
.程序集变量 DeviceID

.子程序 _按钮_获取二维码_被单击

启动线程 (&获取二维码, , )

.子程序 __启动窗口_创建完毕

启动线程 (&获取二维码, , )
图标 = HTTP读文件 (“https://res.wx.qq.com/zh_CN/htmledition/images/favicon17ced3.ico”)

.子程序 获取UID, 文本型
.局部变量 返回文本, 文本型

UID = “”
返回文本 = 到文本 (网页_访问 (“https://login.weixin.qq.com/jslogin?appid=wx782c26e4c19acffb&redirect_uri=https%3A%2F%2Fwx.qq.com%2Fcgi-bin%2Fmmwebwx-bin%2Fwebwxnewloginpage&fun=new&lang=zh_CN&_=” + 时间_取现行时间戳 ()))
.判断开始 (返回文本 ≠ “”)
    返回文本 = 文本_取出中间文本 (返回文本, “uid = ” + #引号, #引号)
    .判断开始 (返回文本 ≠ “”)
        返回 (返回文本)
    .默认
        返回 (“”)
    .判断结束

.默认
    返回 (“”)
.判断结束



.子程序 获取二维码
.局部变量 二维码, 字节集

图片框_登录二维码.禁止 = 真
分组框_二维码.标题 = “二维码获取中...”
UID = 获取UID ()
.判断开始 (UID ≠ “”)
    二维码 = 网页_访问 (“https://login.weixin.qq.com/qrcode/” + UID + “?t=webwx”, , , , , , 5)
    .判断开始 (二维码 ≠ {  })
        图片框_登录二维码.图片 = 二维码
        分组框_二维码.标题 = “二维码获取成功...√”
    .默认
        分组框_二维码.标题 = “二维码获取失败...×”
    .判断结束

.默认
    分组框_二维码.标题 = “二维码获取失败...(UID为空)”
.判断结束
标签_状态.标题 = “请使用微信扫描二维码以登录(点击图片刷新二维码)”
图片框_登录二维码.禁止 = 假

.子程序 _时钟_扫描检测_周期事件
.局部变量 返回文本, 文本型
.局部变量 提交数据, 文本型
.局部变量 URL, 文本型, , , 登陆获取Cookie所用
.局部变量 user, Userinfo
.局部变量 临时数组, 文本型, , "0", 存放初步分割的临时会话列表
.局部变量 临时数组1, Userinfo, , "0", 存放临时会话列表的每一个用户信息
.局部变量 n, 整数型

返回文本 = 到文本 (网页_访问 (“https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login?uuid=” + UID + “&tip=1&_=” + 时间_取现行时间戳 ()))  ' 检测是否扫描
调试输出 (返回文本 + 文本_取随机汉字 (1))

.如果真 (寻找文本 (返回文本, “code=201”, , 假) ≠ -1)  ' 判断用户是否扫描二维码,返回201表示已扫描.然后要提交2个请求包.
    提交数据 = 文本_替换 (#扫描后请求包, , , , “2b62551e82eb43”, UID)
    ' 调试输出 (提交数据)
    返回文本 = 到文本 (网页_访问 (“https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxstatreport?type=1&r=” + 时间_取现行时间戳 () + “&skey=”, 1, , , 到字节集 (提交数据)))
    返回文本 = 到文本 (网页_访问 (“https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxstatreport?type=1&r=” + 时间_取现行时间戳 () + “&skey=”, 1, , , 到字节集 (提交数据)))
    标签_状态.标题 = “√ 成功扫描,请在手机点击确认以登录。”

    返回文本 = 到文本 (网页_访问 (“https://login.weixin.qq.com/cgi-bin/mmwebwx-bin/login?uuid=” + UID + “&tip=0&_=” + 时间_取现行时间戳 ()))  ' 检测是否确认
    调试输出 (返回文本 + 文本_取随机汉字 (1))
    .如果真 (寻找文本 (返回文本, “code=200”, , 假) ≠ -1)  ' 判断用户是否在手机确认,返回200表示已经确认.
        标签_状态.标题 = “√ 确认成功,请稍等系统正在处理数据。”
        URL = 文本_取出中间文本 (返回文本, “uri=” + #引号, #引号)
        调试输出 (“URL:” + URL)
        .如果真 (URL ≠ “”)
            返回文本 = 到文本 (网页_访问 (URL + “&fun=new”, , , , , , , 协议头, , cookie))  ' 获取skey密钥
            调试输出 (返回文本)
            .如果真 (cookie ≠ “”)
                wxuin = 文本_取出中间文本 (cookie, “wxuin=”, “;”)
                Sid = 文本_取出中间文本 (cookie, “wxsid=”, “;”)
                .如果真 (wxuin ≠ “” 且 Sid ≠ “”)
                    调试输出 (“wxuin:” + wxuin)
                    调试输出 (“Sid:” + Sid)
                    .如果真 (返回文本 ≠ “”)
                        skey = 文本_取出中间文本 (返回文本, “<skey>”, “</skey>”)  ' 取出skey密钥
                        .如果真 (skey ≠ “”)
                            提交数据 = 文本_替换 (#扫描后请求包带time参数, , , , “2b62551e82eb43”, UID)
                            返回文本 = 到文本 (网页_访问 (“https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxstatreport?type=1&r=” + 时间_取现行时间戳 () + “&skey=”, 1, , , 到字节集 (提交数据)))  ' 在请求一次POST包
                            调试输出 (返回文本)

                            提交数据 = 文本_替换 (#获取最近会话列表, , , , “919397540”, wxuin, “PTUVCfT+H9vwy6rJ”, Sid, “@crypt_ec775a89_4eb78b3a2081182ffd80cde93de3639b”, skey)
                            返回文本 = 到文本 (网页_访问 (“https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxinit?r=” + 时间_取现行时间戳 () + “&skey=” + skey, 1, , , 到字节集 (提交数据)))
                            返回文本 = 编码_utf8到gb2312 (返回文本)
                            调试输出 (返回文本)
                            .如果真 (寻找文本 (返回文本, #获取最近会话列表成功, , 假) ≠ -1)
                                时钟_扫描检测.时钟周期 = 0
                                返回文本 = 文本_取出中间文本 (返回文本, “ContactList”, “SyncKey”)
                                临时数组 = 分割文本 (返回文本, “,{”, )  ' 把返回文本中的整体分割成单一的一段用户信息,然后再逐个提取
                                .如果真 (取数组成员数 (临时数组) > 0)
                                    .计次循环首 (取数组成员数 (临时数组), n)
                                        user.Uin = 文本_取出中间文本 (临时数组 [n], “Uin” + #引号 + “: ”, “,”, )
                                        user.UserName = 文本_取出中间文本 (临时数组 [n], “UserName” + #引号 + “: ” + #引号, #引号, )
                                        user.RemarkName = 文本_取出中间文本 (临时数组 [n], “RemarkName” + #引号 + “: ” + #引号, #引号, )
                                        user.Sex = 文本_取出中间文本 (临时数组 [n], “Sex” + #引号 + “: ”, “,”, )
                                        user.Signature = 文本_取出中间文本 (临时数组 [n], “Signature” + #引号 + “: ” + #引号, #引号, )
                                        user.Province = 文本_取出中间文本 (临时数组 [n], “Province” + #引号 + “: ” + #引号, #引号, )
                                        user.City = 文本_取出中间文本 (临时数组 [n], “City” + #引号 + “: ” + #引号, #引号, )
                                        user.Alias = 文本_取出中间文本 (临时数组 [n], “Alias” + #引号 + “: ” + #引号, #引号, )
                                        调试输出 (user.Uin)
                                        调试输出 (user.UserName)
                                        调试输出 (user.RemarkName)
                                        调试输出 (user.Sex)
                                        调试输出 (user.Signature)
                                        调试输出 (user.Province)
                                        调试输出 (user.City)
                                        调试输出 (user.Alias)
                                    .计次循环尾 ()
                                .如果真结束

                            .如果真结束

                        .如果真结束

                    .如果真结束

                .如果真结束

            .如果真结束





        .如果真结束

    .如果真结束

.如果真结束




.子程序 _图片框_登录二维码_鼠标左键被放开, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

启动线程 (&获取二维码, , )

.子程序 __启动窗口_可否被关闭, 逻辑型

结束 ()
[/e]
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 1 天

发表于 2014-4-25 17:52:26 | 显示全部楼层   北京市北京市
哈哈,写了一下午。终于登录上了,太菜了我。
回复 支持 反对

使用道具 举报

结帖率:100% (16/16)

签到天数: 3 天

发表于 2014-4-25 17:25:25 | 显示全部楼层   陕西省西安市
这是啥看看
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)
发表于 2014-4-25 17:19:21 | 显示全部楼层   福建省厦门市
学习一下!!
回复 支持 反对

使用道具 举报

结帖率:67% (2/3)
发表于 2014-4-25 16:29:41 | 显示全部楼层   河北省邯郸市
这方面感兴趣,希望能学到很多
回复 支持 反对

使用道具 举报

结帖率:79% (42/53)
发表于 2014-4-25 16:26:14 | 显示全部楼层   广西壮族自治区南宁市
多多协议给力呀
回复 支持 反对

使用道具 举报

结帖率:64% (38/59)

签到天数: 19 天

发表于 2014-4-25 15:41:00 | 显示全部楼层   四川省南充市
什么东西 来看看
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2014-4-25 15:11:41 | 显示全部楼层   河北省石家庄市
看起来好像很屌的样子
回复 支持 反对

使用道具 举报

结帖率:68% (15/22)

签到天数: 11 天

发表于 2014-4-25 14:10:20 | 显示全部楼层   湖北省黄冈市
教程吗  看看
回复 支持 反对

使用道具 举报

结帖率:86% (6/7)
发表于 2014-4-25 13:42:53 | 显示全部楼层   湖南省株洲市
看起来好像很屌的样子。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表