使用appfox工具调用登录接口自动识别图片验证码

声明:原作在这里https://blog.csdn.net/weixin_51668421/article/details/126854281

原作大哥写的很详细,环境的安装配置都有,但是大哥没有写遇到的问题,我这里补充一下。

环境问题

windows环境

电脑系统是windows10,这个应该都很普遍了,win7没试过,不知道行不行。

Python环境

Python版本建议使用3.9,因为我用的是3.9.13成功的,开始用的3.11版本的Python,会在安装ddddocr 报错版本不匹配。

ddddocr问题

ddddocr安装

按照博主的方法安装ddddocr如果有vpn最好用vpn,没有的话普通网络有几率失败,网上也有人用国内的路径的,可以试试,我是用的vpn,不用太慢了。

安装的过程中如果报错版本问题建议安装3.10以下的Python,可以参考这https://blog.csdn.net/kunhe0512/article/details/124993478

验证码识别问题

验证码读取出来是ddddocr

博主原脚本

//请求接口
pm.sendRequest("http://127.0.0.1:8188/pub/user/getGifCode", function (err, response) {
    //设置临时变量“GUID”为变量名,response.json()["data"]["GUID"]为变量值
        //疑惑的可分析脚本请求接口的返回信息格式
        pm.variables.set("GUID", response.json()["data"]["GUID"]);
    //打印请求脚本返回信息GUID参数的值  (检查分析用的)
         console.log(response.json()["data"]["GUID"]);
    //将脚本返回信息中BAS64参数值赋值给变量url
        var url = response.json()["data"]["BAS64"];
    //执行外部程序(就是其他代码文件),将代码文件打印在后台的值赋值给code变量
        var code = pm.execute('getimgcode.py', [url]);
    //使用正则表达式处理返回值,作用只取值的多位为字母的值
        code = /[a-zA-Z]+/.exec(code)[0]
    //打印code变量值
        console.log(code);
    //设置临时变量AUTOCODE,值为code
        pm.variables.set("AUTHCODE", code);
      });

我修改过的脚本

//请求接口
pm.sendRequest("http://172.19.13.233:8801/jeecg-boot/sys/randomImage/1683265498307?_t=1683265498", function (err, response) {
        //疑惑的可分析脚本请求接口的返回信息格式
        pm.variables.set("checkKey", "1683265498307");
    //将脚本返回信息中BAS64参数值赋值给变量url
        var url = response.json()["result"];
    //执行外部程序(就是其他代码文件),将代码文件打印在后台的值赋值给code变量
        var code = pm.execute('getimgcode.py', [url]);
        code = code.split('NSwk7i')[1].trim().replace("\"", "").replace(/\n/g, "");
    //设置临时变量AUTOCODE,值为code
        pm.variables.set("captcha", code);
      });

这里我的checkKey、result、caotcga和博主的GUID、["data"]["GUID"]、AUTHCODE不用管,这是需要看自己的项目结构来设定的。

关键在于博主识别出来的字符串中有很多没用的东西

 实际只有这里是需要的验证码,我做的修改就是去掉其他没有用的东西。

code = code.split('NSwk7i')[1].trim().replace("\"", "").replace(/\n/g, "");

去空格、去换行、去引号。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老鼠抗刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值