设为首页收藏本站帮助中心
查看: 509|回复: 0
收起左侧

易语言 增强HTTP读文件() 支持失败重试次数与子程序指针检查数据是否正确(返回字节集)

[复制链接]
发表于 2020-4-24 23:02:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?加入我们

x
1.png

  1. .版本 2
  2. .支持库 spec
  3. .支持库 internet

  4. .程序集 程序集1

  5. .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码


  6. _临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
  7. 返回 (0)  ' 可以根据您的需要返回任意数值

  8. .子程序 _临时子程序

  9. ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
  10. 调试输出 (到文本 (HTTP读文件_增强 (“http://127.0.0.1/”, 5, &数据检查钩子)))



  11. .子程序 HTTP读文件_增强, 字节集, 公开,  获取互联网上指定HTTP地址处的网页或数据文件,支持指定失败重试次数以及使用自定义子程序指针检查数据是否合法正确
  12. .参数 HTTP文件地址, 文本型, , http:// 或 https:// 开头,如果 https:// 访问返回空白且浏览器可访问,请检查 HTTP读文件() 以及系统SSL证书配置。
  13. .参数 失败重试次数, 整数型, , 失败次数超过此次数将返回空字节集,小于1则默认为1。
  14. .参数 数据检查钩子, 子程序指针, 可空, 留空只要数据不为0字节即成功,指针参数1:字节集指针 参数2:字节集长度 返回逻辑型(真为成功,假为失败),失败后则重新读取 HTTP读文件() 直到成功为止 (数据长度为0则按失败处理,不会调用钩子)
  15. .局部变量 数据, 字节集
  16. .局部变量 通过, 逻辑型
  17. .局部变量 指针, 整数型
  18. .局部变量 长度, 整数型

  19. .如果真 (失败重试次数 ≤ 0)
  20.     失败重试次数 = 1
  21. .如果真结束
  22. .计次循环首 (失败重试次数, )
  23.     数据 = HTTP读文件 (HTTP文件地址)
  24.     .如果 (是否为空 (数据检查钩子))
  25.         .如果真 (取字节集长度 (数据) ≠ 0)
  26.             返回 (数据)
  27.         .如果真结束

  28.     .否则
  29.         指针 = 取变量数据地址 (数据)
  30.         长度 = 取字节集长度 (数据)
  31.         .判断开始 (指针 = 0 或 长度 = 0)
  32.             到循环尾 ()
  33.         .判断 (调用子程序 (数据检查钩子, , 通过, 指针, 长度) = 假)
  34.             输出调试文本 (“调用子程序指针失败”)
  35.             返回 ({  })
  36.         .判断 (通过)
  37.             返回 (数据)
  38.         .默认

  39.         .判断结束

  40.     .如果结束

  41. .计次循环尾 ()
  42. 返回 ({  })



  43. .子程序 数据检查钩子, 逻辑型
  44. .参数 指针, 整数型
  45. .参数 长度, 整数型
  46. .局部变量 数据, 字节集

  47. 数据 = 指针到字节集 (指针, 长度)
  48. 返回 (寻找文本 (到文本 (数据), “404 Not Found”, , 真) = -1)
复制代码

相关帖子

这个小可爱很神秘,什么都没留下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则