精易论坛

标题: 多线程访问某网页取返回结果再次提交 [打印本页]

作者: 1436880331    时间: 2024-10-20 21:08
标题: 多线程访问某网页取返回结果再次提交
想写一个多线程访问某网页1,首先从网页1获取返回数据1,然后将数据1提交到网页2,接着从网页2获取到返回数据2,再将数据2提交到网页3。相当于有几次网页跳转提交,有时候网页会繁忙不出返回数据,这时候就需要将繁忙没出数据的步骤一直重复直到有数据返回提交。如果有大佬愿意提供完整例子,精币园子奉上。

作者: LEOONL    时间: 2024-10-20 21:10
你把网址和返回判断的数据放到数组,循环网址成员数,再套一个循环 判断寻找到数据关键字 跳出循环
作者: gulibo2001    时间: 2024-10-20 22:39
  
子程序名返回值类型公开备 注
网页访问文本型 
参数名类 型参考可空数组备 注
url文本型
变量名类 型静态数组备 注
str文本型 
str = 编码_Utf8到Ansi (网页_访问_对象 (url, , , , , , , , , , , , , , , , , , ))
返回 (str)
子程序名返回值类型公开备 注
控制程序  
参数名类 型参考可空数组备 注
控制整数型
变量名类 型静态数组备 注
网页1文本型 
网页2文本型 
网页3文本型 
网页判定内容文本型 
返回文本逻辑型 
判断 (控制 = 1)
网页1 = “http://127.0.0.1/get1”
返回文本 = 网页访问 (网页1)
网页判定内容 = “123”
如果 (寻找文本 (str, 网页判定内容, , ) ≠ -1)
控制程序 (2)


控制程序 (1)


判断 (控制 = 2)
网页2 = “http://127.0.0.1/get2”
网页判定内容 = “456”
返回文本 = 网页访问 (网页2)
如果 (寻找文本 (返回文本, 网页判定内容, , ) ≠ -1)
控制程序 (3)
控制程序 (2)

判断 (控制 = 3)
网页3 = “http://127.0.0.1/get3”
返回文本 = 网页访问 (网页3)
网页判定内容 = “789”
调试输出 (返回文本)
如果 (寻找文本 (返回文本, 网页判定内容, , ) ≠ -1)

控制程序 (3)




子程序名返回值类型公开备 注
_按钮1_被单击  
启动线程 (&控制程序, , )


i支持库列表   支持库注释   
spec特殊功能支持库
EThread多线程支持库



补充内容 (2024-10-20 22:41):
启动线程里把传参设置成1忘记写了
作者: bnm4565377    时间: 2024-10-20 22:46
这两种都行。也是最简单的,可以根据这个原理修改

QQ截图20241020224451.png (26.18 KB, 下载次数: 99)

QQ截图20241020224451.png

QQ截图20241020224348.png (24.42 KB, 下载次数: 93)

QQ截图20241020224348.png

作者: q4569123    时间: 2024-10-23 06:48
队列线程池1
添加日志(操作5(操作4(操作3(操作2(操作1())))))
队列线程池2
添加日志(操作5(操作4(操作3(操作2(操作1())))))
队列线程池3
添加日志(操作5(操作4(操作3(操作2(操作1())))))
队列线程池4
添加日志(操作5(操作4(操作3(操作2(操作1())))))
队列线程池5
添加日志(操作5(操作4(操作3(操作2(操作1())))))

子程序 操作1-5  返回值 文本型
参数 内容 文本型
返回(判断结果(“网页3w.baidu.com”,“协议头XXXX”,内容))


子程序 判断结果 返回值 文本型
参数 网页 文本型
参数 协议头 文本型
参数 内容 文本型
变量 临_结果
循环
临_结果=网页_访问S(网页,协议头,内容)
如果真(临_结果!=“狗几把”)
跳出循环()
循环尾()
返回(临_结果)

子程序 添加日志
参数 内容 文本型
编辑框1.加入文本(时间到文本(取现行运行时间())+“-----取得内容-----”+内容)

补充内容 (2024-10-23 06:53):
循环为死循环,直到临结果=正确值,才会跳出返回,这样做有个弊端,就是队列线程池的数量需要限制,不然程序就会崩了

补充内容 (2024-10-23 06:58):
网页1的网址,协议头,消息体固定的话,天王老子来了,你要的东西都是单线程,网页1前面还有判断,才有可能成为多线程




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4