全局变量表
.版本 2 .全局变量 skey, 文本型 .全局变量 gtk, 文本型
QQ登陆代码
.版本 2 .支持库 spec .程序集 窗口程序集_窗口1 .子程序 _超文本浏览框1_载入开始 .局部变量 正则, 正则表达式 .局部变量 cookie, 文本型 cookie = 网页_取Cookie (“qq.com”, ) 调试输出 (cookie) .如果真 (寻找文本 (cookie, “;skey=”, , 假) ≠ -1) 正则.创建 (“(@[0-9a-zA-Z]{9})”, , , ) 正则.搜索全部 (cookie) skey = 正则.取子匹配文本 (1, 1) gtk = 计算Gtk (skey) _启动窗口.可视 = 真 销毁 () .如果真结束 .子程序 计算Gtk, 文本型, 公开, 返回计算后的值(Gtk) .参数 被计算值, 文本型, , skey或者p_skey .局部变量 hash, 整数型 .局部变量 i, 整数型 .局部变量 skey1, 文本型 hash = 5381 skey1 = 被计算值 .如果真 (skey1 = “”) skey1 = 被计算值 .如果真结束 .计次循环首 (取文本长度 (skey1), i) hash = hash + 左移 (hash, 5) + 取代码 (skey1, i) .计次循环尾 () hash = 位与 (hash, 2147483647) 返回 (到文本 (hash)) .子程序 _窗口1_可否被关闭, 逻辑型 结束 ()
微视多线程刷播放量的代码
实现此功能需要加载精易模块5.6、鱼刺类_Http模块和鱼刺类_多线程应用模块
.版本 2 .支持库 EThread .程序集 窗口程序集_启动窗口 .程序集变量 临界, 鱼刺类_临界许可 .程序集变量 线程池, 鱼刺类_线程池Ex .程序集变量 已刷播放量, 文本型 .程序集变量 id, 文本型 .子程序 __启动窗口_创建完毕 _启动窗口.可视 = 假 载入 (窗口1, , 真) .子程序 工作开始 .局部变量 并发线程数, 整数型 .局部变量 bool, 逻辑型 .局部变量 需刷数量, 整数型 .局部变量 int, 整数型 .局部变量 已派发任务数, 整数型 .如果真 (线程池.取_状态 () ≠ 0) 返回 () .如果真结束 按钮_启动停止.禁止 = 真 按钮_启动停止.标题 = “正在启动” 并发线程数 = 到整数 (编辑框_并发线程数.内容) .如果真 (并发线程数 < 1) 并发线程数 = 1 .如果真结束 .如果真 (并发线程数 > 999) 并发线程数 = 999 .如果真结束 bool = 线程池.创建 (并发线程数, , , , ) .如果真 (bool = 假) 按钮_启动停止.标题 = “启动” 按钮_启动停止.禁止 = 假 返回 () .如果真结束 需刷数量 = 到整数 (编辑框_注册数量.内容) .如果真 (需刷数量 < 1) 需刷数量 = 1 .如果真结束 按钮_启动停止.标题 = “停止” 按钮_启动停止.禁止 = 假 已派发任务数 = 0 .判断循环首 (已派发任务数 < 需刷数量) int = 线程池.取_空闲线程数 () .判断循环首 (int = 0) .如果真 (线程池.取_状态 () ≠ 1) 返回 () .如果真结束 _延迟 (10) int = 线程池.取_空闲线程数 () .判断循环尾 () .计次循环首 (int, ) 线程池.投递任务 (&刷播放量, , ) 已派发任务数 = 已派发任务数 + 1 .计次循环尾 () _处理事件 () .判断循环尾 () .判断循环首 (线程池.取_是否空闲 () = 假) .如果真 (线程池.取_状态 () ≠ 1) 返回 () .如果真结束 _延迟 (10) .判断循环尾 () 工作结束 () .子程序 工作结束 .如果真 (线程池.取_状态 () ≠ 1) 返回 () ' 防止频繁调用 其实也没事的 线程池在销毁中被再次调用 销毁 会立即返回 假 不会造成报错 .如果真结束 按钮_启动停止.禁止 = 真 按钮_启动停止.标题 = “正在停止” 线程池.销毁 () 按钮_启动停止.标题 = “启动” 按钮_启动停止.禁止 = 假 时钟_状态.时钟周期 = 1000 编辑框_作品地址.禁止 = 假 .子程序 刷播放量 .局部变量 http, WinHttpW .局部变量 data, 文本型 .局部变量 局_skey, 文本型 .局部变量 局_gtk, 文本型 .局部变量 局_id, 文本型 临界.进入 () 局_skey = skey 局_gtk = gtk 局_id = id 临界.退出 () http.Auto () http.AutoCookies () http.SetTimeouts (3000, 3000, 3000, 3000) http.Cookies (“skey=” + 局_skey) http.Open (“POST”, “http://h6.qzone.qq.com/webapp/json/weishi/ReportFeedPlay?g_tk=” + 局_gtk) http.SetAccept (“application/json”) http.SetAcceptLanguage (“zh-CN,zh;q=0.9”) http.SetRequestHeader (“origin”, “https://h6.qzone.qq.com”, ) http.SetReferer (“https://h6.qzone.qq.com/weishi/feed/” + 局_id + “/wsfeed?_proxy=1&_wv=1&id=” + 局_id + “&from=pc&orifrom=”) http.SetUserAgent (“Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36”) http.SetContentType (“application/json”) http.SetXMLHttpRequest () http.Send (“{” + #引号 + “feed_id” + #引号 + “:” + #引号 + 局_id + #引号 + “}”, , ) data = http.GetResponseText () 临界.进入 () ' 试输出 (data) 已刷播放量 = 文本_取中间 (data, “playnum” + #引号 + “:”, “,” + #引号 + “_idc”, , , , ) ' 输出 (已刷播放量) 临界.退出 () 返回 () .子程序 _时钟_状态_周期事件 .局部变量 int, 整数型 ' 0=未启动,1=正在工作,2=正在创建,3=正在销毁。 int = 线程池.取_状态 () .判断开始 (int = 0) 标签_线程池状态.标题 = “线程池状态:未启动” .判断 (int = 1) 标签_线程池状态.标题 = “线程池状态:正在工作” .判断 (int = 2) 标签_线程池状态.标题 = “线程池状态:正在创建” .判断 (int = 3) 标签_线程池状态.标题 = “线程池状态:正在销毁” .默认 .判断结束 int = 线程池.取_线程池容量 () 标签_线程池容量.标题 = “线程池容量:” + 到文本 (int) int = 线程池.取_执行线程数 () 标签_执行线程数.标题 = “执行线程数:” + 到文本 (int) int = 线程池.取_空闲线程数 () 标签_空闲线程数.标题 = “空闲线程数:” + 到文本 (int) int = 线程池.取_队列任务数 () 标签_队列任务数.标题 = “队列任务数:” + 到文本 (int) 标签_已注册数量.标题 = “已刷播放量:” + 已刷播放量 .子程序 _按钮_启动停止_被单击 .局部变量 str, 文本型 str = 按钮_启动停止.标题 .判断开始 (str = “启动”) id = 文本_取中间 (编辑框_作品地址.内容, “weishi/feed/”, “/wsfeed”, , , , ) .如果 (id ≠ “”) 编辑框_作品地址.禁止 = 真 时钟_状态.时钟周期 = 1000 启动线程 (&工作开始, , ) .否则 信息框 (“未在编辑框内找到视频id”, 0, , ) .如果结束 .判断 (str = “停止”) 工作结束 () .默认 _处理事件 () .判断结束 .子程序 __启动窗口_可否被关闭, 逻辑型 工作结束 ()
运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对亿速云的支持。如果你想了解更多相关内容请查看下面相关链接
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。