|
|

楼主 |
发表于 2021-10-9 14:32:13
|
显示全部楼层
广西壮族自治区南宁市
.版本 2
.支持库 EThread
.程序集 窗口程序集_窗口1
.程序集变量 线程池, 鱼刺类_线程池Ex
.程序集变量 临界许可, 鱼刺类_临界许可
.程序集变量 原子锁, 鱼刺类_原子锁
.子程序 _窗口1_创建完毕
.子程序 _按钮_开始_被单击
启动线程 (&主线程, , )
.子程序 主线程
.局部变量 总任务数, 整数型
.局部变量 并发线程, 整数型
.局部变量 当前任务数, 整数型
.局部变量 n, 整数型
.局部变量 空闲数, 整数型
.如果真 (编辑框_总任务.内容 = “”)
信息框 (“请输入总任务数”, 64, , )
返回 ()
.如果真结束
.如果真 (编辑框_线程.内容 = “”)
信息框 (“请输入并发线程数”, 64, , )
返回 ()
.如果真结束
原子锁.赋值 (0)
按钮_开始.禁止 = 真
总任务数 = 到整数 (编辑框_总任务.内容)
并发线程 = 到整数 (编辑框_线程.内容)
当前任务数 = 总任务数
.如果真 (取反 (线程池.创建 (并发线程, 并发线程, )))
信息框 (“线程池创建失败!”, 64, , )
返回 ()
.如果真结束
.判断循环首 (n < 总任务数)
空闲数 = 线程池.取_空闲线程数 ()
.如果真 (空闲数 > 0)
当前任务数 = 总任务数 - n
.如果真 (当前任务数 > 空闲数)
当前任务数 = 空闲数
.如果真结束
.计次循环首 (当前任务数, )
n = n + 1
线程池.投递任务 (&子线程, n)
.计次循环尾 ()
.如果真结束
线程池.等待任务动态 ()
.判断循环尾 ()
.判断循环首 (线程池.取_是否空闲 () = 假)
.如果真 (线程池.取_状态 () ≠ #线程池_正在工作)
跳出循环 ()
.如果真结束
线程池.等待任务动态 (100)
.判断循环尾 ()
线程池.销毁 ()
按钮_开始.禁止 = 假
信息框 (“运行完毕!”, 64, , )
.子程序 子线程
.参数 n, 整数型
.局部变量 索引, 整数型
.局部变量 UA数组, 文本型, , "0"
.局部变量 IP数组, 文本型, , "0"
.局部变量 UA, 文本型
.局部变量 IP, 文本型
.局部变量 IP段1, 文本型
.局部变量 IP段2, 文本型
.局部变量 IP段数组1, 文本型, , "0"
.局部变量 IP段数组2, 文本型, , "0"
.局部变量 局_网址, 文本型
.局部变量 局_方式, 整数型
.局部变量 ADD_协议头, 类_POST数据类
.局部变量 局_提交协议头, 文本型
.局部变量 局_结果, 字节集
.局部变量 局_返回, 文本型
.局部变量 Referer, 文本型
.局部变量 url, 文本型
.局部变量 host, 文本型
.局部变量 递增结果, 整数型
.局部变量 ref数组, 文本型, , "0"
索引 = n - 1
临界许可.进入 ()
UA数组 = 分割文本 (编辑框_UA.内容, #换行符, )
IP数组 = 分割文本 (编辑框_IP.内容, #换行符, )
ref数组 = 分割文本 (编辑框_ref.内容, #换行符, )
url = 编辑框_url.内容
host = 编辑框_Host.内容
临界许可.退出 ()
.如果真 (取数组成员数 (IP数组) > 0)
IP = IP数组 [到整数 (文本_取随机范围数字 (1, 取数组成员数 (IP数组)))]
IP段1 = 文本_取左边 (IP, “-”)
IP段2 = 文本_取右边 (IP, “-”)
IP段数组1 = 分割文本 (IP段1, “.”, )
IP段数组2 = 分割文本 (IP段2, “.”, )
IP = 文本_取随机范围数字 (到整数 (IP段数组1 [1]), 到整数 (IP段数组2 [1])) + “.” + 文本_取随机范围数字 (到整数 (IP段数组1 [2]), 到整数 (IP段数组2 [2])) + “.” + 文本_取随机范围数字 (到整数 (IP段数组1 [3]), 到整数 (IP段数组2 [3])) + “.” + 文本_取随机范围数字 (到整数 (IP段数组1 [4]), 到整数 (IP段数组2 [4]))
.如果真结束
.如果真 (取数组成员数 (UA数组) > 0)
UA = UA数组 [到整数 (文本_取随机范围数字 (1, 取数组成员数 (UA数组)))]
.如果真结束
.如果真 (取数组成员数 (ref数组) > 0)
Referer = ref数组 [到整数 (文本_取随机范围数字 (1, 取数组成员数 (ref数组)))]
.如果真结束
局_网址 = url
局_方式 = 0
ADD_协议头.添加 (“Host”, host)
ADD_协议头.添加 (“Connection”, “keep-alive”)
ADD_协议头.添加 (“Cache-Control”, “max-age=0”)
ADD_协议头.添加 (“Upgrade-Insecure-Requests”, “1”)
ADD_协议头.添加 (“User-Agent”, UA)
ADD_协议头.添加 (“Accept”, “text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9”)
ADD_协议头.添加 (“Client-Ip”, IP)
ADD_协议头.添加 (“Referer”, Referer)
局_提交协议头 = ADD_协议头.获取协议头数据 ()
局_结果 = 网页_访问 (局_网址, 局_方式, , , , 局_提交协议头, , , , , )
局_返回 = 到文本 (编码_编码转换对象 (局_结果))
递增结果 = 原子锁.递增 ()
临界许可.进入 ()
编辑框_已访问.内容 = 到文本 (递增结果)
临界许可.退出 ()
.子程序 _编辑框_线程_内容被改变
.子程序 _编辑框_ref_内容被改变
要怎么改?
|
|