当前位置:   article > 正文

阿里云SMS服务C++ SDK编译及调试关键点记录_request parameters has malformed encoded character

request parameters has malformed encoded characters.fail

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

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

1.  申请资质 个人or企业

我这里是用的企业资质

2. 申请签名

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

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

3. 申请短信模板

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

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

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

4.申请短信试用

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

5. 绑定测试手机号

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

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

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

二. 阿里云SDK编译

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

1. 选择V1.0版本的SDK,git下载到本地

2. CMAKE正常Configure成功后,BUILD_PRODUCT配置为dysmsapi,Generate生成工程alibabacloud-sdk.sln

CMAKE相关知识

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

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

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

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

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

三. 测试

1. 新建工程

新建SMSTest工程

2. 拷贝依赖项到工程

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

最终工程目录如下:

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

4. 根据API编写代码

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

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

5. 调试工程

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/951168
推荐阅读
相关标签
  

闽ICP备14008679号