开发者社区> 问答> 正文

阿里云验证码2.0的生产环境没问题,本地验证一直不通过,怎么回事?

阿里云验证码2.0的生产环境没问题,本地验证一直不通过,怎么回事?public Boolean verify(String accessId, String accessSecret, String sceneId, String captchaVerifyParam) {
// ====================== 1. 初始化配置 ======================
Config config = new Config();
// 设置您的AccessKey ID 和 AccessKey Secret。
// getEnvProperty只是个示例方法,需要您自己实现AccessKey ID 和 AccessKey Secret安全的获取方式。
config.accessKeyId = accessId;
config.accessKeySecret = accessSecret;
//设置请求地址
config.endpoint = "captcha.cn-shanghai.aliyuncs.com";
// 设置连接超时为5000毫秒
config.connectTimeout = 5000;
// 设置读超时为5000毫秒
config.readTimeout = 5000;

    try {
        // ====================== 2. 初始化客户端(实际生产代码中建议复用client) ======================
        com.aliyun.captcha20230305.Client client = new com.aliyun.captcha20230305.Client(config);
        // 创建APi请求
        VerifyIntelligentCaptchaRequest request = new VerifyIntelligentCaptchaRequest();
        // 本次验证的场景ID,建议传入,防止前端被篡改场景
        request.sceneId = sceneId;
        // 前端传来的验证参数 CaptchaVerifyParam
        request.captchaVerifyParam = captchaVerifyParam;
        // ====================== 3. 发起请求) ======================


        VerifyIntelligentCaptchaResponse resp = client.verifyIntelligentCaptcha(request);
        log.info("verifyIntelligentCaptcha resp={}", JSON.toJSONString(resp));
        // 建议使用您系统中的日志组件,打印返回
        // 获取验证码验证结果(请注意判空),将结果返回给前端。出现异常建议认为验证通过,优先保证业务可用,然后尽快排查异常原因。
        return resp.body.result.verifyResult;
    } catch (TeaException error) {
        // 建议使用您系统中的日志组件,打印异常
        // 出现异常建议认为验证通过,优先保证业务可用,然后尽快排查异常原因。

// Boolean captchaVerifyResult = true;
log.error("拖动校验服务端失败:{}", error.getMessage());
return false;
} catch (Exception _error) {
// TeaException error = new TeaException(_error.getMessage(), _error);
// 建议使用您系统中的日志组件,打印异常
// 出现异常建议认为验证通过,优先保证业务可用,然后尽快排查异常原因。
// Boolean captchaVerifyResult = true;
log.error("拖动校验服务端失败:{}", _error.getMessage());
return false;
}
} 9a4e1978f07c290fb3bdc27820129d6a.png

展开
收起
三分钟热度的鱼 2024-05-05 18:14:06 15 0
1 条回答
写回答
取消 提交回答
  • 出于攻防效果考虑,开启F12 devtools并触发敏感调试行为被风控拦截,不会影响正常用户,如果确实开发阶段需要调试可以在控制台开启测试模式。此回答整理自钉群“【客】验证码2.0接入咨询”

    2024-05-05 19:07:45
    赞同 3 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云原生产业大会:阿里云精彩内容集锦 立即下载
阿里云云原生 Serverless 技术实践营 PPT 演讲 立即下载
阿里云产品十月刊 立即下载