互联网上有许多公司提供短信接口服务,诸如网易云信、阿里大于等等。我在自己项目里需要使用到短信服务起到通知作用,实际开发周期三天,完成配置、开发和使用,总的说,阿里大于提供的接口易于开发,非常的方便,短信费用是计数缴纳的,作为个人开发者,我使用的服务业务产生的费用为0.045¥/条(10万条以下)。

  现在要实现一个例会短信群发通知的功能,所有被通知对象信息均存于Mysql中,应用架构采用asp.net MVC 。首先准备好获取的API各项(以下各项服务参数都需要在大于官网上申请),

申请好自己的短信签名与短信模板,根据服务商的要求需要这些参数:

 ITopClient client = new DefaultTopClient(url, appkey, secret);
 AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
 req.Extend = "" ;//可空,返回状态
 req.SmsType = "normal" ;//不可更改
 req.SmsFreeSignName = "" ;//申请的短信签名,不可填写与申请的不一
 req.SmsParam = "" ;//短信模板中的变量如:{name}
 req.RecNum = " ;//手机号码
 req.SmsTemplateCode = "" ;//短信模板的编号,不可出错
 AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req);
 Console.WriteLine(rsp.Body);
具体开发中,需要注意到的是这一段代码是官方提供的样品,在写短信发送函方法时,将它粘贴再进行开发即可。其中模板变量的配对尤其关键
req.SmsParam = "" ;//短信模板中的变量如:{name}
在这种情况下,对字符串拼接要有基本功,由于是类json化的,所以
 req.SmsParam ="{number:'" + Password + "'}";//去掉双引号则是{number:‘Password’}
 
说完细节之后,开始在本机上的项目里引用编译好的dll,该dll文件可在阿里大于官网https://www.alidayu.com/center/application/sdk下载zip压缩包,解压即可得到生成好的dll.之后写一个可以发送短信的void方法,
 
 public void SmsSendForFindPassword(string phonenum,string Password)
         {
             string url = "https://eco.taobao.com/router/rest";
             string appkey = "********";
             string secret = "**********************";
             ITopClient client = new DefaultTopClient(url, appkey, secret);
             AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
             req.Extend = "";
             req.SmsType = "normal";//默认normal不可改动
             req.SmsFreeSignName = "院红会网宣";//短信签名必填
             req.SmsParam = "{number:'" + Password + "'}";//模板内参数必填
             req.RecNum = phonenum;//手机号码必填
             req.SmsTemplateCode = "SMS_******";//不可改动
             AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req);
         }
  • 这个方法是我为管理员找回密码开发的,其中需要注意一下,传入参数phonenum,Password,在传入前从数据库中调出,不得为空。
  • ITopClient client = new DefaultTopClient(url, appkey, secret);这其中的url在官方中给出了两个,我倾向于https,这样数据传输更安全。具体选择请参考阿里大于官网文档。
  • AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req);//这个对象实例化后,才是api发送方法调用的最后一步,在这之前,每一项都要正确,出错可以使用Console.WriteLine(rsp.Body);//显示出错误信息

  对于如何实现的群发功能,写一个SendSmsForMeetingTime(string name, string time, string phonenum, string department, string minister)方法函数,我使用了List<Model>,将数据库中的多条数据读入List中,使用foreach(var item in list),在每一次遍历中调用一次SendSmsForMeetingTime;当遍历完成之时,每一个通知对象的信息传入方法参数中,方法执行完后之后,便实现了调用。

  在这里说明一下接口调用,短信经过的流程。用户客户端/用户服务器——>阿里大于服务器——>移动/电信/联通运营商服务器——>对象可接受短信服务终端。实际上,阿里大于也是调用的运营商的接口,只是阿里大于将接口封装到便宜开发,而我们开发者在这基础上能完成第三方接口开发,这些开发也仅限制于服务商封装了哪些接口,开发者无法调用服务商未封装的接口。

  以上便是我在实际项目中调用API的实例经验,项目也经历了用户的使用检验,目前未出状况,这也说明了阿里大于在短信接口服务这块,信息传达的效率还是业内良心。

asp.net mvc短信接口调用——阿里大于API开发心得的更多相关文章

  1. 短信接口调用以及ajax发送短信接口实现以及前端样式

    我们短信api用的是云信使平台提供的非免费短信服务:官网提供的demo有两种,分别是function加其调用.class文件加其调用. 在这里我们用class文件加调用: 首先,ThinkPHP里面自 ...

  2. java短信接口调用

    java短信接口调用 之前一直在一个传统的单位上班好多听容易的技术都没接触过,即使有时候想搞一搞类似于支付宝支付,短信接口调用,微信公众号,小程序之类等功能,一直有心无力终于跳槽了,估计是氛围的原因吧 ...

  3. PJzhang:exiftool图片信息提取工具和短信接口调用工具TBomb

    猫宁!!! 作者:Phil Harvey 这是图片信息提取工具的地址: https://sno.phy.queensu.ca/~phil/exiftool/ 网站隶属于Sudbury 中微子天文台,从 ...

  4. 阿里大鱼短信接口整合Tp3.2.3开发整理

    阿里大鱼 http://www.alidayu.com/ 的短信接口总体是不错的,别安驹个人认为不管是从性价比还是稳定性上都是跟同类的短信接口好些,毕竟是大公司的东西不会差到哪去.下面把之前开发的短信 ...

  5. zabbix短信接口调用

    #!/bin/bash TIME=`date +%Y-%m-%d` KEY="UJK9rk50HD8du8JE8h87RUor0KERo5jk" username="za ...

  6. 模板短信接口调用java,pythoy版(一) 网易云信

    说明 短信服务平台有很多,我只是个人需求,首次使用,算是测试用的,故选个网易(大公司). 稳定性:我只测试了15条短信... 不过前3条短信5分钟左右的延时,后面就比较快.... 我只是需要发短信,等 ...

  7. 模板短信接口调用java,pythoy版(二) 阿里大于

    说明 功能:短信通知发送 + 短信发送记录查询,所有参数我没有改动,实测有效! 请自行参考 + 官方API! 短信模板示例:尊敬的${name},您的快递已在飞奔的路上,将在今天${time}送达您的 ...

  8. asp.net mvc 短信验证码

    把发短信功能写成一个类包,需要引用: SmsUtillity.cs: using System; using System.Collections.Generic; using System.Linq ...

  9. 中国网建SMS短信接口调用(java发送和接收手机短信)

    1.先注册账号,一定要填写好签名格式.不填会返回-51错误.   代码信息接口详细==>http://sms.webchinese.cn/api.shtml   . 2.测试代码 package ...

随机推荐

  1. Android中GridView通过自定义适配器(未优化)实现图文视图排列

    Android中GridView组件用来以网格方式排列视图,与矩阵类似,当屏幕上有很多元素(文字.图片或其他元素)需要显示时,可以使用该组件.下面我们通过代码实现如下图例(为了方便截图,将事件处理(土 ...

  2. [转]File Descriptor泄漏导致Crash: Too many open files

    在实际的Android开发过程中,我们遇到了一些奇奇怪怪的Crash,通过sigaction再配合libcorkscrew以及一些第三方的Crash Reporter都捕获不到发生Crash的具体信息 ...

  3. ViewStub源码分析

    ViewStub是一种特殊的View,Android官方给出的解释是:一种不可见的(GONE).size是0的占位view,多用于运行时 延迟加载的,也就是说真正需要某个view的时候.在实际项目中, ...

  4. 八爪鱼招标网的百度权重升为2了,独立IP也从0快速发展为1000

      自八爪鱼招标网上线以来,本着以客户一切利益为出发点,坚持提供国内首个免费招标信息平台为目标,经过各位同事不断地努力,不断收集客户各种各样的招标.采购实际需求,与政府.事业单位及中小型企业一对一的沟 ...

  5. oradebug/strace/pstack等分析数据库性能问题系列一

    对于性能问题或者一些比较奇怪妖异的问题,有很多点可以着手去分析. 准备写一个系列关于用ash/dba_hist_active_sess_history,用oradebug,用linux命令strace ...

  6. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理2

    首先我们来写个类进行获取当前线程内唯一的DbContext using System; using System.Collections.Generic; using System.Data.Enti ...

  7. OOM killer

    Linux下有一种OOM KILLER 的机制,它会在系统内存耗尽的情况下,启用自己算法有选择性的kill 掉一些进程. 1. 为什么会有OOM killer 当我们使用应用时,需要申请内存,即进行m ...

  8. 【转帖】分享一个迅为4412开发板OTG烧录批处理文件

    平台:iTOP-4412开发板 Bat 功能: 1.可以分条的执行烧录,不需要每次烧录都去复制命令 2.可以批量烧录 开发板系统烧录批处理文件,请将此文件放置在fastboot程序同目录下,下载地址: ...

  9. POJ3398Perfect Service[树形DP 树的最大独立集变形]

    Perfect Service Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 1518   Accepted: 733 De ...

  10. Spring中的cglib动态代理

    Spring中的cglib动态代理 cglib:Code Generation library, 基于ASM(java字节码操作码)的高性能代码生成包 被许多AOP框架使用 区别于JDK动态代理,cg ...