易语言通过get的方式多线程刷微视播放量的代码

时间:2021-05-19

全局变量表

.版本 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 = 5381skey1 = 被计算值.如果真 (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://h5.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://h5.qzone.qq.com”, )http.SetReferer (“https://h5.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 = “停止”) 工作结束 ().默认 _处理事件 ().判断结束.子程序 __启动窗口_可否被关闭, 逻辑型工作结束 ()

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章