对接阿里大于短信平台报错

阿里云短信验证接口调用 阅读详情
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-core</artifactId>
  <version>3.7.1</version>注:如提示报错,先升级基础包版,无法解决可联系技术支持
</dependency>
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
  <version>1.1.0</version>
</dependency>
  • 报错:Exception in thread "main" java.lang.NoSuchMethodError: org.json.JSONArray.iterator()Ljava/util/Iterator;
  • 错误原因:未升级基础包版本,引起JSON的版本和引入的冲突。
  • 解决方案(2种):
  1. 升级原来引用的JSON基础包
  2. 将引入的aliyun-java-sdk-core的version修改为3.3.1 即:
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-core</artifactId>
  <version>3.3.1</version>注:如提示报错,==先升级基础包版==,无法解决可联系技术支持
</dependency>
  • 调用过程实例:
    package com.alicom.dysms.api;
    
    import com.aliyuncs.DefaultAcsClient;
    import com.aliyuncs.IAcsClient;
    import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsRequest;
    import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsResponse;
    import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
    import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
    import com.aliyuncs.exceptions.ClientException;
    import com.aliyuncs.profile.DefaultProfile;
    import com.aliyuncs.profile.IClientProfile;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    /**
     * Created on 17/6/7.
     * 短信API产品的DEMO程序,工程中包含了一个SmsDemo类,直接通过
     * 执行main函数即可体验短信产品API功能(只需要将AK替换成开通了云通信-短信产品功能的AK即可)
     * 工程依赖了2个jar包(存放在工程的libs目录下)
     * 1:aliyun-java-sdk-core.jar
     * 2:aliyun-java-sdk-dysmsapi.jar
     * 备注:Demo工程编码采用UTF-8
     * 国际短信发送请勿参照此DEMO
     */
    public class scratch {
    
        //产品名称:云通信短信API产品,开发者无需替换
        static final String product = "Dysmsapi";
        //产品域名,开发者无需替换
        static final String domain = "dysmsapi.aliyuncs.com";
    
        // TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
        static final String accessKeyId = "LTAIJtIqA8nc5kkV";
        static final String accessKeySecret = "9QifiCxzQo4dWKAoXUZiCtwq6mYKKG";
    
        public static SendSmsResponse sendSms() throws ClientException {
    
            //可自助调整超时时间
            System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
            System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    
            //初始化acsClient,暂不支持region化
            IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
            DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
            IAcsClient acsClient = new DefaultAcsClient(profile);
    
            //组装请求对象-具体描述见控制台-文档部分内容
            SendSmsRequest request = new SendSmsRequest();
            //必填:待发送手机号
            request.setPhoneNumbers("1856267xxxx");
            //必填:短信签名-可在短信控制台中找到
            request.setSignName("xxxx");
            //必填:短信模板-可在短信控制台中找到
            request.setTemplateCode("SMS_1386xxxxx");
            //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
            request.setTemplateParam("{\"name\":\"Tom\", \"code\":\"123\"}");
            request.setTemplateParam("{\"code\":\"123456\"}");
    
            //选填-上行短信扩展码(无特殊需求用户请忽略此字段)
            //request.setSmsUpExtendCode("90997");
    
            //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
            request.setOutId("yourOutId");
    
            //hint 此处可能会抛出异常,注意catch
            SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
    
            return sendSmsResponse;
        }
    
    
        public static QuerySendDetailsResponse querySendDetails(String bizId) throws ClientException {
    
            //可自助调整超时时间
            System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
            System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    
            //初始化acsClient,暂不支持region化
            IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
            DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
            IAcsClient acsClient = new DefaultAcsClient(profile);
    
            //组装请求对象
            QuerySendDetailsRequest request = new QuerySendDetailsRequest();
            //必填-号码
            request.setPhoneNumber("185xxxxxxxx");
            //可选-流水号
            request.setBizId(bizId);
            //必填-发送日期 支持30天内记录查询,格式yyyyMMdd
            SimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd");
            request.setSendDate(ft.format(new Date()));
            //必填-页大小
            request.setPageSize(10L);
            //必填-当前页码从1开始计数
            request.setCurrentPage(1L);
    
            //hint 此处可能会抛出异常,注意catch
            QuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request);
    
            return querySendDetailsResponse;
        }
    
        public static void main(String[] args) throws ClientException, InterruptedException {
    
            //发短信
            SendSmsResponse response = sendSms();
            System.out.println("短信接口返回的数据----------------");
            System.out.println("Code=" + response.getCode());
            System.out.println("Message=" + response.getMessage());
            System.out.println("RequestId=" + response.getRequestId());
            System.out.println("BizId=" + response.getBizId());
    
            Thread.sleep(3000L);
    
            //查明细
            if(response.getCode() != null && response.getCode().equals("OK")) {
                QuerySendDetailsResponse querySendDetailsResponse = querySendDetails(response.getBizId());
                System.out.println("短信明细查询接口返回数据----------------");
                System.out.println("Code=" + querySendDetailsResponse.getCode());
                System.out.println("Message=" + querySendDetailsResponse.getMessage());
                int i = 0;
                for(QuerySendDetailsResponse.SmsSendDetailDTO smsSendDetailDTO : querySendDetailsResponse.getSmsSendDetailDTOs())
                {
                    System.out.println("SmsSendDetailDTO["+i+"]:");
                    System.out.println("Content=" + smsSendDetailDTO.getContent());
                    System.out.println("ErrCode=" + smsSendDetailDTO.getErrCode());
                    System.out.println("OutId=" + smsSendDetailDTO.getOutId());
                    System.out.println("PhoneNum=" + smsSendDetailDTO.getPhoneNum());
                    System.out.println("ReceiveDate=" + smsSendDetailDTO.getReceiveDate());
                    System.out.println("SendDate=" + smsSendDetailDTO.getSendDate());
                    System.out.println("SendStatus=" + smsSendDetailDTO.getSendStatus());
                    System.out.println("Template=" + smsSendDetailDTO.getTemplateCode());
                }
                System.out.println("TotalCount=" + querySendDetailsResponse.getTotalCount());
                System.out.println("RequestId=" + querySendDetailsResponse.getRequestId());
            }
    
        }
    }

     

 

关于QT程序部署到linux及阿里云平台短信及语音更改服务器主机名 qt 阅读详情

相关推荐

Composer报错Could not find a matching version of package解决方式

conposer报错包找不到 现象:所有的安装形式都是提示找不到包,但是composer站点上可以找到。 原因:镜像问题。 composer require 安装扩展包后报错 [InvalidArgumentException] ...

任聪聪的博客 2万+

阿里云短信服务

介绍阿里云短信服务API和流程,利用springboot实现阿里云短信服务,并附上源码

munangs的博客 5221

阿里云SMS短信jar包

分享阿里云发送短信的jar包,导入引用即可,可以用的~

阿里云短信发送服务

这里假设已经申请好短信服务和模板。

u011353623的博客 1484

Transformer在量化交易中的应用:从时序预测到策略生成

Transformer模型凭借其强大的自注意力机制,在自然语言处理领域取得了革命性突破。其核心原理是通过并行计算和动态权重分配,有效捕捉序列数据中的长距离依赖关系。这一特性使其在金融时间序列分析中展现出巨大技术价值,能够处理市场数据中的复杂非线性模式和长期关联。在量化交易场景下,Transformer可将价格、成交量等连续数据通过离散化分桶处理,转化为类似文本的序列,进而进行预测或直接生成交易信号。本文以QuantGPT项目为例,探讨了如何将这一前沿AI架构迁移应用于金融领域,涵盖了从数据作为“语言”的编码

weixin_26757949的博客 366

Unity AR涂涂乐实战:用户上传图片秒变3D模型新皮肤(附完整代码)

本文详细介绍了如何在Unity AR应用中实现用户上传图片动态生成3D模型皮肤的功能,重点讲解了动态创建材质球的技术方案和性能优化策略。通过完整的代码示例,开发者可以学习到多源图片处理、移动端内存管理以及AR场景适配等核心技巧,快速打造高性能的儿童教育类AR应用。

weixin_31509753的博客 370

阿里大于短信平台

1.1 阿里大于简介 阿里大于是阿里云旗下产品,融合了三大运营商的通信能力,通过将传统通信业务和能力与互联网相结合,创新融合阿里巴巴生态内容,全力为中小企业和开发者提供优质服务阿里大于提供包括短信、语音、流量直充、私密专线、店铺手机号等个性化服务。通过阿里大于打通三大运营商通信能力,全面融合阿里巴巴生态,以开放API及SDK的方式向开发者提供通信和数据服务,更好地支撑企业业务发展和创新服务...

huangyh技术栈 766

什么是Claude 的 Agent Skills?

摘要: Claude的Agent Skills功能支持通过结构化技能包(含指令、脚本、工具)实现任务自动化,如数据分析、文档生成等。核心能力包括:1)技能包管理(如Python脚本+模板);2)工具调用(API/数据库交互);3)子代理协作(拆分复杂任务)。快速上手步骤:创建技能包(如Excel报表生成)、配置工具权限、触发执行;支持多代理并行处理(如SQL查询+可视化)。关键技巧:工具需明确定义参数、利用子代理共享上下文、注重权限管控。官方文档与社区资源提供进阶指导,使Claude成为可编程的数字助手。

jobleap.cn求职助手首页 1729

对接阿里云短信平台报错

对接阿里云短信服务报错

mix_937的博客 3012

ESP32实战指南:SPI驱动ADXL345三轴加速度传感器的精准数据采集与姿态解算

本文详细介绍了如何使用ESP32通过SPI接口驱动ADXL345三轴加速度传感器,实现精准数据采集与姿态解算。从硬件连接到SPI通信优化,再到数据处理和低功耗策略,提供了全面的实战指南。特别适合物联网开发者和硬件工程师参考,帮助快速掌握传感器数据采集技术。

vim8coder的博客 1042

2026年国赛C题微网与外部电网电力调控策略 (三):问题三、问题四滚动预测、实时电价与结果核验

专栏内定期更新ABCDE五题详细思路、代码(含运行结果图)和讲解视频-(11号之前半价):问题三看起来只是多给了一个光伏预报附件,实质上它改变了整道题的信息结构:问题四则是在问题二、问题三之上替换价格来源。问题4-2相当于“确定性计划+实时电价”,问题4-3相当于“滚动预测+实时电价”。物理模型完全不变,改变的是价格序列和费用口径。本文先给出核心结果:从结果看,问题3比问题2多约164.21万元,问题4-3比问题4-2多约168.79万元。主要增量不是“储能没有工作”,而是预测误差、计划偏差和紧急购电造成的

YOLO 343

使用阿里云提供的短信服务发送短信(个人版)

本人最近需要实现一个注册发短信验证码的功能,找了几家短信服务平台,如腾讯云,云片网等,发现他们都没有提供给用户个人的短信服务权限,申请短信签名等都需要有企业等相关证明,最后找到了阿里云的短信服务平台,下面就介绍下个人如何开通使用阿里云提供的短信服务。 首先是注册并登录阿里云,然后开通短信服务等。要发送短信之前需要先申请短信签名,每个个人用户可以申请一个验证码签名,如下图: 填写相关信息后点...

zhiyuti0057的博客 1万+

详细推导波特图增益和相位曲线

最近因为项目需求,在回看波特图方面的内容。大三那会,《自动控制原理》这本书里面就讲过这些东西,但是那时候总感觉学这些没啥用,反正以后也用不到,对这种课程的重视度不是很高。 工作后发现,只要你从事的是和本专业相关的工作,大学学过的很多理论课程在后面大概率都会用到。曾经那些我们在学校以为用不上的东西,熟不知在后面用处还多着呢。所以啊,仅仅只是我们的以为而已! 现在还在学校的同学,对待《自动控制理论》、《信号与系统》、《通信原理》这样的核心专业课,建议还是好好学习一下,认真听听课。哪怕是考试完以后就会忘掉,但当我

D_Katter的博客 3936

接入阿里云短信

使用阿里云短信接口则需要通过阿里云平台获取一些参数 如果没有对应key值的需要自己创建新的key 添加签名和对应自己的模板 在项目如添加maven依赖包 <!--阿里云短信--> <dependency> <groupId>com.aliyun</groupId> <a...

wylalong的博客 2642

YOLOv11 损失函数进阶:Varifocal Loss 让正负样本精度双升

创建self.alpha = alpha # 正样本权重系数self.gamma = gamma # 聚焦系数self.lambda_reg = lambda_reg # 回归损失权重# 分类损失:Varifocal Classification Loss# 正样本权重:基于预测置信度# 计算 BCE 损失并加权cls_loss = cls_loss.sum() / (cls_true.sum() + 1e-6) # 按正样本数归一化。

m0_71589036的博客 441

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

企业级实战|SpringBoot+阿里云短信SDK对接完整版(附CRM集成、套餐选型、踩坑指南)

摘要:本文详细讲解企业级CRM系统(悟空CRM)如何对接阿里云短信服务实现回款提醒功能。内容涵盖企业资质申请、签名模板备案、SpringBoot SDK集成、Redis防重发机制实现等全流程。重点包括:企业认证账号的必要性、短信签名和模板的合规申报技巧、可直接复用的Java代码实现、2026年最新套餐选型建议,以及10个常见报错解决方案。适用于Java开发者快速实现企业短信通知功能,所有代码均可直接集成到业务系统中。

前端略懂,后端深耕,BUG 是常态,解决是姿态。 1048

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

springboot项目调用阿里云短信接口(包括短信上行)

最近一直在做项目,很久没有写过博客了,最近做的一个项目中遇到了一个业务需要用到短信功能包括了发送短信和短信回复之后要收到回复内容,阿里云短信服务是一个非常好的平台,里面提供了多种短信接口可以供我们使用,但是作为一个菜鸟,我也是第一次使用阿里云的这个短信接口,研究了一些时间在这个过程中也遇到了一些问题,现在我已经解决这些问题,这里我把我遇到的问题总结一些,帮助和我一样需要调用短信接口的同学。因为我做...

GHL1996的博客 5137

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

SpringBoot2>03 - 短信发送

扯淡: 目前市场上的短信平台很多,我们选取的依据是稳定、文档齐全、便宜等。综上选择阿里旗下的阿里大于。 个人学习总结: 链接:【springboot、springcloud、docker 等,学习目录】 准备工作: 使用阿里大于需要accesskey、短信签名、短信模板,当然还需要交费(一块钱够玩好久)。 1、阿里大于官网: https://dayu.aliyun.com/注...

cp026la的博客 629

4、SpringBoot2.0与阿里大于短信发送平台整合(四)

一、前期准备 ##1.注册阿里云账号 进入网址 https://www.aliyun.com/ 点击免费注册,输入相关信息,则成为阿里云用户。 ##2.获取Access_key和Access_secret 3.签名管理与模板管理 首先点击产品与服务,选择短信服务。 我们需要关心的是应用开发这块。 分别申请签名管理和模板管理。 二、开发步骤    &nbsp...

Rsun2018的博客 736

阿里大于PHP短信发送功能

1.阿里大于账号注册: 支付宝注册:个人就用个人的支付宝,企业的话就用企业的支付宝(但这个需要认证),申请账号后 进入管理中心创建应用,创建应用之后就可以进入应用设置,查看其AppKey和 Secret2.可以订阅阿里大于的消息通知接口 进入管理中心,点击右上角的开发者控制台,在应用列表中找到需要使用消息 接口的应用,进入应用管理界面3.应用开发: 进入管理中心,在左侧栏中找到“应用管理-sdk下...

Rust94的博客 511

阿里(大于)发送手机验证码

步骤如下: 1、登陆阿里大于(没有账号需要注册一个),设置短信服务的签名和模板。 2、实现该接口要做的准备AK(AccessKey) 3、导入相应的jar包 4、代码 一、首先去登录阿里大于: http://www.alidayu.com/ 1)没有号的就注册一个!用淘宝、支付宝、微博账号等就可以登录了,在登录成功之后显示下图界面。 2)点击页面的控制台,然后会跳到另一个页面,点击“使用短信服务”...

weixin_43862596的博客 248

使用阿里云发送短信验证码。

首先你需要登录阿里云的短信服务平台,https://www.aliyun.com/product/sms?spm=5176.12825654.1kquk9v2l.1.1f7e2c4avOrZhx&aly_as=5IHIf3uYw 注册,登录,申请开通短信服务。然后点击管理控制平台,点击右边的accesskey。 点击开始使用子账户的accesskey, 自己管理自己的登录名称...

u010740881的博客 2584

【Java阿里云短信验证码实现】

阿里云新版SDK的基础使用 前言:最近在做开发中因为需要用到短信验证,在进行选择后选择了阿里云的短信验证平台(付费:简短普通短信价格在0.04元一条)。由于官网的帮助文档过于详细无法快速找到重点内容,并且SDK新旧版有较大区别,自己走了很多弯路,借此机会写一份完整的操作步骤以便于没有使用的的新手也可以快速上手。 1.进入阿里云短信服务 首先搜索阿里云官网进入开发者社区,直接搜索“短信服务控制器”...

Ttwink1e的博客 859

阿里大鱼短信接口测试

最近逛博客,看到了阿里大鱼云通信平台,就来测试下。具体的接入指南,阿里大鱼有详细介绍。我选的是java的sdk测试的。直接上代码。 importnet.sf.json.JSONObject; publicclassToJson{ publicstaticJSONObject...

chuitang9429的博客 456
上一篇: BigDecimal的divide方法报错
下一篇: BigDecimal的divide方法报错
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值