按键精灵

【按键精灵教程】关于联众打码插件和山海插件冲突问题

2020-10-28  本文已影响0人  3分钟学堂郭立员

总有网友问这个问题:

这个报错通常出现在联众打码插件和山海插件同时使用的时候,考虑到山海插件是我们经常的插件尽量不去改动,那么从联众插件方面入手。

第一个想法是修改插件,看到报错提示变量“GetTempFile”是空值,打开两个插件发现都含有这个变量。原本想修改一下,然后发现有点麻烦(其实是不会改,对lua不精通),所以这个想法就放弃了。

第二个想法重新写源码,看了一下联众提供的代码以及插件内容,发现原理就是提交给联众服务器一个图片base64内容,识别后获取返回值。想想这个和别的post差不多吗,尤其是和百度云识别啊,想法看来可行。

有了想法开始自己写代码了,保留联众提供原有代码的框架,用其他命令替换掉使用联众插件部分的代码,最终代码如下:

Import "shanhai.lua"

Dim user = "******"                  '用户名

Dim pwd = "******"                  '密码

Dim softID = "11105"                  '软件ID,作者账号增加软件后获取

Dim Secret = "******"                  '安全码,作者账号增加软件后获取

Dim filepath = GetSdcardDir() & "/pictures/yzm.jpg"    '图片路径

Dim tpe = 1026                  '图像类型

Dim ot = 60                    '超时时间(秒)

Dim minlen = 0                  '图像最小长度

Dim maxlen = 0                  '图像最大长度

Dim workerTipsId = 0 

Dim uri="http://v2-no-secure-api.jsdama.com/upload"

Dim base64=ShanHai.ReadFileBase(filepath)

Dim RetTbl, ID, Result

Dim formtable={_

"softwareId":softID,_

"softwareSecret":secret,_

"username":user,_

"password":pwd,_

"captchaData":base64,_

"captchaType":tpe,_

"captchaMinLength":minlen,_

"captchaMaxLength":maxlen,_

"workerTipsId":workerTipsId}

Dim json=encode.TableToJson(formtable)

dim Retjson=ShanHai.PostHttp(uri,json,5)

RetTbl=encode.JsonToTable(Retjson)

If RetTbl Then

  If RetTbl["code"] = 0 Then

    ID = RetTbl["data"]["captchaId"]

    Result = RetTbl["data"]["recognition"]

    TracePrint "图像识别结果为: ", Result

    TracePrint "图像ID为: ", ID

  Else

    TracePrint "图像结果获取失败, 错误原因: ", RetTbl["message"]

  End If

Else

  TracePrint "HTTP请求发送失败"

End If

目前测试可以正常获取返回结果:

由于去掉联众插件,所以不会再出现插件冲突报错了。同时保留了原有代码的框架,在使用的时候基本和原来联众代码没有任何区别。当然还有两个功能“结果报错”和“检查点数”没有写,如果你用得着的话,可以参照我的格式自己去写一下。

上一篇 下一篇

猜你喜欢

热点阅读