• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

返回列表 12345678» / 43
发新话题 回复该主题

[山海师] 【山海插件】再次营业,带来HTTP双端插件 [复制链接]

1#
现在官方自带的http的命令少了个提交文件的功能,美中不足

无可奈何我就被迫营业封装了一个http的插件,可以支持upload功能


目前插件还是内测版本,功能不完善且概率存在一定BUG,后续会进行迭代更新


功能特色
- 自定义header消息头
- 智能判定Content-Type类型
- 支持Android&IOS双端使用
- 统一的payload格式传入(table类型)





命令功能

SHTTP.Get(url, opts)
- 功能:发送Get请求
- 参数:
- url: 必选,请求的url
- opts: 可选参数,包含以下参数的键值表
headers: 自定义http消息头,可以是键值表或者字符串
timeout: 请求超时时间,默认为10秒
files: 上传文件路径
- 返回:返回请求结果

SHTTP.Post(url, data, opts)
- 功能:发送Get请求
- 参数:
- url: 必选,请求的url
- data: 必选,需要提交的请求数据,用键值表或者key-value存放提交数据
- opts: 可选参数,包含以下参数的键值表
headers: 自定义http消息头,可以是键值表或者字符串
timeout: 请求超时时间,默认为10秒
files: 上传文件路径
- 返回:返回请求结果




使用范例

简单的Get请求
  1. Import "SHTTP.lua"

  2. Dim tHeaders = {null}
  3. tHeaders["user-agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"

  4. TracePrint SHTTP.Get("http://bbs.anjian.com/", {"headers": tHeaders})
复制代码
附带请求头Get
  1. Import "SHTTP.lua"

  2. Dim tHeaders = {null}
  3. tHeaders["user-agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"

  4. TracePrint SHTTP.Get("http://bbs.anjian.com/", {"headers": tHeaders})
  5. // 设定超时时间
  6. TracePrint SHTTP.Get("http://bbs.anjian.com/", {"headers": tHeaders, "timeout": 5})
复制代码
发送post请求
  1. Import "SHTTP.lua"

  2. Dim sUrl= "https://api.toolnb.com/Tools/Qrcode/qrcodeLogo.html"
  3. Dim tHeaders = {null}
  4. tHeaders["user-agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"
  5. tHeaders["content-type"] = "multipart/form-data"

  6. Dim tPayload = {null}
  7. tPayload["images"] = "undefined"
  8. tPayload["type"] = "L"
  9. tPayload["size"] = 4
  10. tPayload["data"] = "https://www.toolnb.com"

  11. TracePrint SHTTP.Post(sUrl, tPayload, {"headers": tHeaders})
复制代码
post提交文件
  1. Import "SHTTP.lua"

  2. Dim sUrl= "https://api.toolnb.com/Tools/Qrcode/qrcodeLogo.html"
  3. Dim tHeaders = {null}
  4. tHeaders["user-agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"
  5. tHeaders["content-type"] = "multipart/form-data"

  6. Dim tPayload = {null}
  7. tPayload["type"] = "L"
  8. tPayload["size"] = 4
  9. tPayload["data"] = "https://www.toolnb.com"

  10. TracePrint SHTTP.Post(sUrl, tPayload, {"headers": tHeaders, "files": {"images": "/storage/emulated/0/Download/flagCache/com.microvirt.launcher2.png"}})
复制代码
对接百度OCR识别
  1. Import "SHTTP.lua"
  2. Import "ShanHai.lua"
  3. Import "Cjson.lua"

  4. Dim sUrl = "https://aip.baidubce.com/oauth/2.0/token"
  5. Dim tData = {null}
  6. tData["grant_type"] = "client_credentials"
  7. tData["client_id"] = "" // 填自己的client_id
  8. tData["client_secret"] = "" // 填自己的client_secret
  9. Dim sJson, tJson
  10. // 获取api的access_token值
  11. sJson = SHTTP.Post(sUrl, tData)
  12. tJson = Cjson.Decode(sJson)
  13. Dim Access_Token = tJson["access_token"]


  14. sUrl = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic" & "?access_token=" & Access_Token
  15. // 需要先将图片转成base64编码
  16. Dim ImgBase64 = ShanHai.ReadFileBase(GetSdcardDir() & "/Pictures/test.png")
  17. // 对内容进行url编码
  18. ImgBase64 = ShanHai.CharToUrl(ImgBase64)

  19. sJson = SHTTP.Post(sUrl, {"image":ImgBase64},{"headers":{"Content-Type":"application/x-www-form-urlencoded"}})
  20. tJson = Cjson.Decode(sJson)
  21. For i = 1 To Len(tJson["words_result"])
  22. TracePrint tJson["words_result"][i]["words"]
  23. Next
复制代码
插件开源下载(回复可见):
SHTTP.zip (, 下载次数:1570)

点评

果壳王子  恭喜再次营业!  发表于 2021/11/27 13:01:35
江中游  山海老师终于又更新了,前来学习  发表于 2021/11/26 22:38:40

    已有2评分我要评分查看所有评分

    最后编辑山海师 最后编辑于 2021-11-26 19:16:29
    本主题由 超级版主 瑞祥幽冥狼 于 2023/10/16 22:48:08 执行 审核帖子 操作
    2#

    Xiexie

    3#

    膜拜大佬~


    【紫猫编程学园】火热招生中

    教学涉及按键精灵电脑版、按键精灵手机版、易语言、Lua编程。

    包含网页、端游、手游、办公、模拟器、插件等。

    报名咨询QQ:345911220 或 97682686 或 97682687;

    报名咨询微信:zimaoxy; 点我在线交谈


    紫猫学园免费教程

    加入交流QQ群: 7333555

    4#

    用的按键sokect封装的吗

    专业代写各类:模拟器,安卓手机脚本

    点击:QQ: 20703035

    5#

    膜拜大佬~

    6#

    膜拜大佬

    7#

    支持,必须支持

    8#

    双击666

    扫码免费获取我的基础教程【视频教程】
    扫码下方二维码关注我的公众号:3分钟学堂

    QQ交流群:936858410
    9#

    111111







    Yeah分享

    10#

    支持支持吃

    11#

    看看

    12#

    膜拜大佬

    13#

    大佬牛

    14#

    学习大大的新插件~

    15#

    山海师】【插件】再次营业,带来HTTP双端插件修改

    16#

    看啊看看那

    17#

    占楼观赏

    18#

    山海出山,威力无边

    诚交天下好友:VX:stnvip
    19#

    膜拜大佬~

    熊家班熊叫兽
    20#

    又更新了

    发新话题 回复该主题