栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

Vb.net发送腾讯云短信

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Vb.net发送腾讯云短信

1腾讯云短信接口sdk3.0网址如下:

https://cloud.tencent.com/document/sdk/.NET

2安装包

打开vs2017,打开菜单:工具—>nuget包管理器—>管理解决方案的nuget程序包;

安装如下程序包最新版:

  1. Microsoft.AspNet.WebApi.Client
  2. Newtonsoft.Json
  3. Pathoschild.Http.FluentClient
  4. System.Text.Encodings.Web
  5. TencentCloudSDK

注意:全部跑起来需要netframework4.7.2,否则发短信会报错。

3 发短信代码如下:

Private sub sendmstest()

            Dim aaa() As String=New String() {"+8613711112222", "+8613711112222"}

            SendMessageAsync(“短信发送测试!”, aaa)

End sub

 

Async Sub SendMessageAsync(ByVal sContent As String, ByVal sPhone As String())

        Try

         ' 必要步骤:

         ' 实例化一个认证对象,入参需要传入腾讯云账户密钥对 secretId 和 secretKey

         ' 本示例采用从环境变量读取的方式,需要预先在环境变量中设置这两个值

         ' 也可以直接在代码中写入密钥对,但需谨防泄露,不要将密钥复制、上传或者分享他人

         '* CAM 密匙查询:https :       //console.cloud.tencent.com/cam/capi*/

'获取安全凭证。安全凭证包含 SecretId 及 SecretKey 两部分。SecretId 用于'标识

'API 调用者的身份,SecretKey 用于加密签名字符串和服务器端验证签名字'符串的密钥。

'前往  API 密钥管理 页面进行获取。

Dim cred As Credential = New Credential()

cred.SecretId = "AKID…"  '密钥对

cred.SecretKey = "axB…"  '密钥对

           '

            Dim ClientProfile As New ClientProfile()

            '

            ClientProfile.SignMethod = ClientProfile.SIGN_TC3SHA256

            '非必要步骤

            '实例化一个客户端配置对象,可以指定超时时间等配置 */

            Dim HttpProfile As New HttpProfile()

            HttpProfile.ReqMethod = "POST"

            'SDK 有默认的超时时间,非必要请不要进行调整

            '如有需要请在代码中查阅以获取最新的默认值 */

            HttpProfile.Timeout = 10  '// 请求连接超时时间,单位为秒(默认60秒)

         '

            HttpProfile.Endpoint = "sms.tencentcloudapi.com"

                '// 代理服务器,当您的环境下有代理服务器时设定

            HttpProfile.WebProxy = Environment.GetEnvironmentVariable("HTTPS_PROXY")

           ClientProfile.HttpProfile = HttpProfile

            '实例化 SMS 的 client 对象

         '第二个参数是地域信息,可以直接填写字符串 ap-guangzhou,或者引用预设的常量 */

            Dim client As SmsClient = New SmsClient(cred, "ap-guangzhou", ClientProfile)

             '实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数

             '您可以直接查询 SDK 源码确定 SendSmsRequest 有哪些属性可以设置

             '属性可能是基本类型,也可能引用了另一个数据结构

             '推荐使用 IDE 进行开发,可以方便地跳转查阅各个接口和数据结构的文档说明

             Dim req As New SendSmsRequest()

             '基本类型的设置

             'SDK 采用的是指针风格指定参数,即使对于基本类型也需要用指针来对参数赋值

             'SDK 提供对基本类型的指针引用封装函数

             '帮助链接:

             '短信控制台https  //console.cloud.tencent.com/sms/smslist

             'sms helper:https :       //cloud.tencent.com/document/product/382/3773

                req.Sign = "环球科技"

                req.SmsSdkAppid = "…"   'req.SmsSdkAppid = "1257310899"

                ' 短信签名内容: 使用 UTF - 8 编码, 必须填写已审核通过的签名,

'可登录 [短信控制台] 查看签名信息

                ' req.Sign = "xxx"

                '短信码号扩展号: 默认未开通, 如需开通请联系 [sms helper] */

                'req.ExtendCode = "x"

                '国际/港澳台短信 senderid: 国内短信填空, 默认未开通, 如需开通请联系

                'req.SenderId = ""

                '用户的 session内容: 可以携带用户侧ID等上下文信息, server 会原样返回

                'req.SessionContext = sContent

                '下发手机号码,采用 e.164 标准,+[国家或地区码][手机号]

                '例如+8613711112222,其中前面有一个+号,86为国家码,13711112222为手机号

' ‘最多不要超过200个手机号’

                'req.PhoneNumberSet = New String() {"+8613711112222", "+8613711112222"}

                 req.PhoneNumberSet = sPhone

'短信模板id,短信模板要先进行申请,不再介绍。

req.TemplateID = "644040" ' 模板参数: 若无模板参数, 则设置为空

req.TemplateParamSet = New String() {sContent}

               '通过client对象调用SendSms方法发起请求,注意请求方法名与请求对象是对应的

                '返回的 resp 是一个 SendSmsResponse 类的实例,与请求对象对应

                Dim resp As SendSmsResponse = Await client.SendSms(req)

                '// 输出 JSON 格式的字符串回包

                Dim sA As String = AbstractModel.ToJsonString(resp)

                If InStr(sA, "send success", CompareMethod.Text) > 0 Then

                    MessageBox.Show("短信发送成功。")

 

                Else

                    MessageBox.Show("短信发送失败。错误信息:" & sA)

                End If              

            Catch e As Exception

                MessageBox.Show("短信发送失败!")

            End Try

            Console.Read()

        End Sub

说明:以上代码为生产代码,已投入运行使用。密钥对等客户数据被修改。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/955390.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号