提供参数发送之后,会返回一个DescribeCaptchaResultResponse类型的数据,我们将他转为FastJson的JSONObject类型进行解析。返回数据结构如下:
{ "Response": { "RequestId": "3b61a17b-cb38-470e-802c-b6242faf81ac", "CaptchaCode": 1, "CaptchaMsg": "OK", "EvilLevel": 0, "GetCaptchaTime": 1583749870 }, "retcode": 0, "retmsg": "success" }具体其他参数可以参考腾讯api文档:https://cloud.tencent.com/document/product/1110/36926
我这里读取CaptchaCode的值,如果值为1则是验证码验证成功,不为1则是验证失败。
//核验验证码 JSONObject tencentCaptchaResult = captchaResult.getTencentCaptchaResult(ticket, randstr, clientIp); int captchaCode = Integer.parseInt(tencentCaptchaResult.getString("CaptchaCode")); if (captchaCode != 1) { throw new ServiceException("验证码错误!"); } //...后续业务逻辑 后续在腾讯云中还能为验证码设置更多的东西,如验证码的主题,验证码的场景配置,验证码恶意拦截的等级等等。。
在后台也能看到验证码的请求量
我感觉后端和前端还可以再封装一下,让代码更加简洁。阿里云还有其他的新型验证码还没有尝试,我个人是感觉腾讯验证码使用起来是挺好的,但是api文档什么的有点差了,资料也很少。