阿里云SMS服务C++ SDK编译及调试关键点记录

一. 阿里云SMS服务开通及准备工作

在阿里云官网上完成这部分的工作

  1. 申请资质 个人or企业

我这里是用的企业资质

  1. 申请签名

企业资质认证成功后,会自动赠送一个用于测试的短信签名

也可以自己再进行申请,需要等待审核。

  1. 申请短信模板

企业资质认证成功后,会自动赠送一个用于测试的验证类短信模板,内容是发送一个验证码。

我这里又自己申请了一个通知类短信进行测试,需要等待审核。

注意,申请短信模板时一定要写清楚场景说明,写明测试的目的,和短信内容的关联,不然会审核不通过。

4.申请短信试用

个人用户和企业用户都可以免费试用的,记得申请。

  1. 绑定测试手机号

在快速学习和测试中,添加测试用的手机号码,最多可以加5个。

6.生成并保存自己的ACCESS_KEY_ID和ACCESS_KEY_SECRET

通过以上6步骤,即完成网页端的申请和配置。

二. 阿里云SDK编译

在阿里云API门户(阿里云OpenAPI开发者门户)上搜索短信服务,可以找到相关所有的开发技术支持。

  1. 选择V1.0版本的SDK,git下载到本地
  1. CMAKE正常Configure成功后,BUILD_PRODUCT配置为dysmsapi,Generate生成工程alibabacloud-sdk.sln

CMAKE相关知识

【CMake】15分钟带你入门CMake_cmake原理-CSDN博客

CMake的原理与使用方法_cmake原理-CSDN博客

  1. 打开工程alibabacloud-sdk.sln,选择INSTALL为启动项,分别在debug和release x64下生成解决方案,得到bin目录和lib目录

此过程中,个人笔记本电脑直接生成成功,但用个人工作电脑生成解决方案时出现curl lib cmake相关的报错,应为cmake过程出现错误,手动讲curl的include lib dll目录拷贝到工程目录下的3rdparty\curl-prefix\文件夹下后,不再报错。

完成以上工作后,SDK相关的准备工作即完成。

三. 测试

  1. 新建工程

新建SMSTest工程

  1. 拷贝依赖项到工程

将编译生成的bin目录和lib目录都拷贝到新工程目录下,将core目录和dysmsapi目录下的include文件夹拷贝并合并到新工程目录下

最终工程目录如下:

  1. 配置工程的include目录和lib目录

  2. 根据API编写代码

有一个偷懒的方法,在API门户中 选择调式 > 选择发送短信 > 填写发送的信息 > 选择SDK示例 > 选择V1.0 > 选择C++ 后,就会自动生成代码。

复制代码到工程中,需要填入自己的ACCESS_KEY_ID和ACCESS_KEY_SECRET,然后改一下模板中需要填写的参数就好了。

  1. 调试工程

跑一下代码,根据报错修改程序,我这里是报了"error: Request parameters has malformed encoded characters."这个错,中文编码的问题,需要设置编码方式为utf-8,这里参考了VS2022设置编码方式为utf-8的三种方式_vs utf8-CSDN博客的方法3后,发送成功。

相关推荐
@nastyboy1 小时前
数据结构:链表算法题
c语言·开发语言·数据结构·算法
百炼成神 LV@菜哥2 小时前
记HttpURLConnection下载图片
java·开发语言·后端
iknow1812 小时前
【前端安全】js逆向之微信公众号登录密码
开发语言·前端·javascript
面包会有的,牛奶也会有的。3 小时前
python测试开发---前后端交互Axios
开发语言·前端·vue.js·交互
爱数学的程序猿3 小时前
【C++篇】启航——初识C++(下篇)
开发语言·c++
Code豪客3 小时前
Java常用三类定时器快速入手指南
java·开发语言·后端·spring
白子寰3 小时前
【C++打怪之路Lv4】-- 类和对象(中)
开发语言·c++
printf_8243 小时前
Android 长按文本弹出输入框
android·java·开发语言
_.Switch4 小时前
边缘计算与 Python Web 应用:从理论到实践
开发语言·前端·人工智能·python·架构·log4j·边缘计算
武昌库里写JAVA4 小时前
机器学习笔记 - week6 -(十一、机器学习系统的设计)
java·开发语言·算法·spring·log4j