|
发表于 2014-2-27 12:24:25
|
显示全部楼层
广东省惠州市
.版本 2
.子程序 访问网页, 字节集, , POST、GET字节集提交专用
.参数 访问地址, 文本型, , 访问的网络地址
.参数 访问方式, 整数型, 可空, 可空,默认0,0=GET 1=POST
.参数 代理地址, 文本型, 可空, 可空,如 78.155.120.77:80
.参数 附加协议头, 文本型, 可空, 可空,Cookie以上的协议头,每个协议头记得加换行符,如: “Accept: */*” + #换行符 + “Accept-Language: zh-cn” + #换行符
.参数 提交数据, 字节集, 可空, 可空,"POST提交"专用
.参数 提交Cookie, 文本型, 可空, 可空,要附加提交的Cookie
.参数 超时返回, 整数型, 可空, 可空,单位为秒,默认为60秒,-1=无限延时
.参数 返回协议头, 文本型, 可空, 可空,请提供一个文本变量,用于存放 返回的协议头
.参数 返回Cookies, 文本型, 可空, 可空,请提供一个接收返回Cookie的文本变量
.参数 禁止重定向, 逻辑型, 可空, 可空,禁止网页进行重定向。默认假。真=允许重定向。
.局部变量 局_文件号, 整数型
.局部变量 局_数组, 字节集, , "7"
.局部变量 局_线程句柄, 整数型
.局部变量 局_时间, 整数型
.局部变量 ret, 整数型
.如果真 (删首尾空 (访问地址) = “”)
返回 ({ })
.如果真结束
.如果真 (取文本左边 (访问地址, 7) ≠ “http://” 且 取文本左边 (访问地址, 8) ≠ “https://”)
访问地址 = “http://” + 访问地址
.如果真结束
局_数组 [1] = 到字节集 (访问地址)
局_数组 [2] = 到字节集 (选择 (访问方式 = 1, “POST”, “GET”))
局_数组 [3] = 到字节集 (代理地址)
局_数组 [4] = 到字节集 (附加协议头)
局_数组 [5] = 提交数据
局_数组 [6] = 到字节集 (提交Cookie)
局_数组 [7] = 到字节集 (到文本 (禁止重定向))
局_文件号 = 打开内存文件 ()
.如果真 (写出数据 (局_文件号, 局_数组) = 假)
输出调试文本 (“保存数据失败”)
返回 ({ })
.如果真结束
局_线程句柄 = 线程_启动 (&访问线程, 局_文件号)
局_时间 = 取启动时间 ()
超时返回 = 选择 (是否为空 (超时返回), 60 × 1000, 超时返回 × 1000)
.循环判断首 ()
ret = MsgWaitForMultipleObjects (1, 局_线程句柄, 假, 超时返回, 1215)
.如果真 (取启动时间 () - 局_时间 ≥ 超时返回)
ret = 258
.如果真结束
处理事件 () ' http://baike.baidu.com/view/1286897.htm
.循环判断尾 (ret ≠ 0 且 ret ≠ 258) ' 258=已超时,0=线程正常结束
.如果 (ret = 258)
线程_销毁 (局_线程句柄)
CloseHandle (局_线程句柄)
重定义数组 (局_数组, 假, 1)
局_数组 [1] = 到字节集 (“超时返回,指定网站不能访问,或者你的网络出现问题,你可以把参数中的"超时返回"的值设置长一些。”)
.否则
移到文件首 (局_文件号)
.如果真 (读入数据 (局_文件号, 局_数组))
关闭文件 (局_文件号)
局_时间 = 取数组成员数 (局_数组)
.如果真 (局_时间 = 7)
.如果真 (是否为空 (返回协议头) = 假)
返回协议头 = 到文本 (局_数组 [6])
.如果真结束
.如果真 (是否为空 (返回Cookies) = 假)
返回Cookies = 到文本 (局_数组 [2])
.如果真结束
返回 (局_数组 [1])
.如果真结束
.如果真结束
.如果结束
关闭文件 (局_文件号)
返回 (局_数组 [1])
|
|