asp.net C# 实现阿里大鱼和云片网短信接口类
云片网短信通用类
public class YunpianSMS
{
public YunpianSMS()
{ } /// <summary>
/// 服务器HTTP地址
/// </summary>
private static string BASE_URI = "http://yunpian.com"; /// <summary>
/// 服务版本号
/// </summary>
private static string VERSION = "v1"; /// <summary>
/// 查账户信息的http地址
/// </summary>
private static string URI_GET_USER_INFO = BASE_URI + "/" + VERSION + "/user/get.json"; /// <summary>
/// 通用接口发短信的http地址
/// </summary>
private static string URI_SEND_SMS = BASE_URI + "/" + VERSION + "/sms/send.json"; /// <summary>
/// 模板接口短信接口的http地址
/// </summary>
private static string URI_TPL_SEND_SMS = BASE_URI + "/" + VERSION + "/sms/tpl_send.json"; /// <summary>
/// 通用接口查回复的短信的http地址
/// </summary>
private static string URI_GET_REPLY = BASE_URI + "/" + VERSION + "/sms/get_reply.json"; /// <summary>
/// APIKEY
/// </summary>
private static string APIKEY = "APIKEY"; /// <summary>
/// 获取用户信息
/// </summary>
/// <returns>Json格式</returns>
public static string GetUserInfo()
{
System.Net.WebRequest req = System.Net.WebRequest.Create(URI_GET_USER_INFO + "?apikey=" + APIKEY);
System.Net.WebResponse resp = req.GetResponse();
System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
return sr.ReadToEnd().Trim();
} /// <summary>
/// 发短信通用接口
/// </summary>
/// <param name="text">短信内容</param>
/// <param name="mobile">接收的手机号码,有多个手机号则用逗号分隔,一次最多100个手机号码</param>
/// <returns>Json格式</returns>
public static string SendSms(string text, string mobile)
{
//注意:参数必须进行Uri.EscapeDataString编码。以免&#%=等特殊符号无法正常提交
string parameter = "apikey=" + APIKEY + "&mobile=" + mobile + "&text=" + text;
return HttpPost(URI_SEND_SMS, parameter);
} /// <summary>
/// 模板接口发短信
/// </summary>
/// <param name="tpl_id">模板ID</param>
/// <param name="mobile">接收的手机号码</param>
/// <param name="tpl_value">模板变量值</param>
/// <returns>Json格式</returns>
public static string TplSendSms(long tpl_id, string mobile, string tpl_value)
{
string postDataStr = "apikey=" + APIKEY + "&mobile=" + mobile + "&tpl_id=" + tpl_id.ToString() + "&tpl_value=" + tpl_value;
return HttpPost(URI_TPL_SEND_SMS, postDataStr);
} /// <summary>
/// 查回复的短信
/// </summary>
/// <param name="page_num">页码,从1开始</param>
/// <param name="page_size">每页个数,最大100个</param>
/// <param name="mobile">接收的手机号码</param>
/// <returns>Json格式</returns>
public static string GetReplySms(int page_num, int page_size, string mobile,string datastart,string dataend)
{
DateTime now = DateTime.Now;
//string datastart = now.AddDays(-3).ToString("yyyy-MM-dd 00:00:00");
//string datasend = now.AddDays(1).ToString("yyyy-MM-dd 00:00:00");
string postDataStr = "apikey=" + APIKEY + "&start_time=" + datastart + "&end_time=" + dataend
+ "&page_num=" + page_num + "&page_size=" + page_size + "&mobile=" + mobile; return HttpPost(URI_GET_REPLY, postDataStr);
} /// <summary>
/// 通用接口请求
/// </summary>
/// <param name="Url"></param>
/// <param name="postDataStr"></param>
/// <returns></returns>
public static string HttpPost(string Url, string postDataStr)
{
byte[] dataArray = Encoding.UTF8.GetBytes(postDataStr);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = dataArray.Length;
//request.CookieContainer = cookie;
Stream dataStream = request.GetRequestStream();
dataStream.Write(dataArray, , dataArray.Length);
dataStream.Close();
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
String res = reader.ReadToEnd();
reader.Close();
return res;
}
catch (Exception e)
{
return e.Message + e.ToString();
}
}
}
调用短信模版方式:
string tpl_value = HttpUtility.UrlEncode(
HttpUtility.UrlEncode("#username#", Encoding.UTF8) + "=" +
HttpUtility.UrlEncode(phone, Encoding.UTF8) + "&" +
HttpUtility.UrlEncode("#passwd#", Encoding.UTF8) + "=" +
HttpUtility.UrlEncode(passwd, Encoding.UTF8), Encoding.UTF8);
//短信失败时,调用第二短信接口
YunpianSMS.TplSendSms(1508914, phone, tpl_value);
阿里大鱼短信通用类
public class AliDaYuSMS
{
/// <summary>
/// <summary>
/// Url
/// </summary>
private static string Url = "http://gw.api.taobao.com/router/rest";
/// AppKey
/// </summary>
private static string AppKey = "AppKey";
/// <summary>
/// AppSecret
/// </summary>
private static string AppSecret = "AppSecret"; /// <summary>
/// 发短信通用接口
/// </summary>
/// <param name="extend">公共回传参数,
/// 在“消息返回”中会透传回该参数;举例:用户可以传入自己下级的会员ID,在消息返回时,
/// 该会员ID会包含在内,用户可以根据该会员ID识别是哪位会员使用了你的应用</param>
/// <param name="smsFreeSignName">短信签名</param>
/// <param name="code">短信模板ID</param>
/// <param name="smsParam">短信模板变量“验证码${code},您正在进行${product}身份验证,打死不要告诉别人哦!”,
/// 传参时需传入{"code":"1234","product":"alidayu"}</param>
/// <param name="mobile">接收的手机号码,群发短信需传入多个号码,以英文逗号分隔,一次调用最多传入200个号码。</param>
/// <returns>Json格式</returns>
public static string SendSms(string extend, string smsFreeSignName, string code, string smsParam, string mobile)
{
ITopClient client = new DefaultTopClient(Url, AppKey, AppSecret);
AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
req.Extend = extend;
req.SmsType = "normal";
req.SmsFreeSignName = smsFreeSignName;
req.SmsParam = smsParam;
req.RecNum = mobile;
req.SmsTemplateCode = code;
AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req);
return rsp.SubErrMsg;
}
} 调用方式 var smsresult = AliDaYuSMS.SendSms(phone, "潮运动", "SMS_13000621", "{\"username\":\"" + phone + "\",\"passwd\":\"" + passwd + "\"}", phone);
asp.net C# 实现阿里大鱼和云片网短信接口类的更多相关文章
- 阿里大鱼.net core 发送短信
阿里大鱼还未提供 .net core 版SDK,但提供了相关API,下面是.net core版实现,只是简单发送短信功能: using System; using System.Collections ...
- TP3.2.3 接入阿里sms 短信接口
阿里云短信接口 配置文件 config.php //阿里大鱼 'Ali_SMS' =>array( 'sms_temp' =>'短信模板', 'sms_sign' =>'签名', ' ...
- asp.net mvc短信接口调用——阿里大于API开发心得
互联网上有许多公司提供短信接口服务,诸如网易云信.阿里大于等等.我在自己项目里需要使用到短信服务起到通知作用,实际开发周期三天,完成配置.开发和使用,总的说,阿里大于提供的接口易于开发,非常的方便,短 ...
- 阿里大鱼短信接口整合Tp3.2.3开发整理
阿里大鱼 http://www.alidayu.com/ 的短信接口总体是不错的,别安驹个人认为不管是从性价比还是稳定性上都是跟同类的短信接口好些,毕竟是大公司的东西不会差到哪去.下面把之前开发的短信 ...
- 阿里大鱼短信接口(Python3版)
近期由于须要用到短信接口,选型的的结果是用阿里大鱼的短信服务,然而淘宝开放平台(TOP)的SDK已经非常多年没有更新了.不支持python3.自己动手改了半天,还是不太正常,索性不用它,自己写一个算了 ...
- 模板短信接口调用java,pythoy版(二) 阿里大于
说明 功能:短信通知发送 + 短信发送记录查询,所有参数我没有改动,实测有效! 请自行参考 + 官方API! 短信模板示例:尊敬的${name},您的快递已在飞奔的路上,将在今天${time}送达您的 ...
- asp调用短信接口实现用户注册
前几天做一个asp语言开发的网站需要实现用户注册短信验证功能,就研究了一下如何实现,简单给大家分享下调用过程. 首先需要找到一个第三方短信接口,当时用的是动力思维乐信的短信接口. 首先需要先注册个动力 ...
- laravel+阿里大于实现发送验证码短信
一.短信服务使用阿里大于提供的短信接口 阿里大于官方网站上的接入流程: 在阿里大于申请接口后,需要做以下操作: 申请签名 申请短信模板 创建Accesskey,可以通过权限最大的Accesskey创建 ...
- THINKPHP3.2.3增加阿里云短信接口思路整理
https://help.aliyun.com/document_detail/55359.html?spm=5176.product44282.4.7.O4lc1n 阿里云短信服务地址,感冒的下载看 ...
随机推荐
- 201521123073《Java程序设计》第4周学习总结
一. 本周学习总结 二. 书面作业 1.注释的应用 2.面向对象设计(大作业1,非常重要) 2.1 将在网上商城购物或者在班级博客进行学习这一过程,描述成一个故事.(不得少于50字,参考QQ群中PPT ...
- 201521123111《Java程序设计》第14周学习总结
本次作业参考文件 MySql操作视频与数据库相关jar文件请参考QQ群文件. 1. 本周学习总结 1.1 以你喜欢的方式(思维导图.Onenote或其他)归纳总结多数据库相关内容. 连接数据库前,应先 ...
- Java:final、static关键字 详解+两者结合使用
一 final关键字 1) 关于final的重要知识点 final关键字可以用于成员变量.本地变量.方法以及类. final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误. ...
- Intellij idea插入表数据【在UI界面插入出错】
使用Intellij idea向数据库插入表数据的时候,如果该表是联合主键的,那么不能使用UI界面来进行插入-- 必须通过SQL语句才能插入-- 至于为什么?我也不知道-.搞了大半天--想省时间不写S ...
- 03标准对象-01-Date和JSON
0.写在前面的话 在JS世界中,一切都是对象,区别对象类型使用tyepof,返回一个字符串,如: typeof 123; // 'number' typeof NaN; // 'number' typ ...
- java基础知识3--如何获取资源文件(Java中获取资源文件的url)
java开发中,常见的resource文件有:.xml,.properties,.txt文件等,后台开发中经常用到读取资源文件,处理业务逻辑,然后返回结果. 获取资源文件的方法说明getResourc ...
- Java中的流程控制
1.Java中有几种流程控制?分别是什么? 答:有三种流程控制,分别是顺序流程,分支流程和循环流程 2.分支语句if/else有哪三种形式?分别如何使用? 答:if/if-else-/if-else ...
- 如何在mybatis 中使用In操作
如何在mybatis 中使用In操作 假如我们想使用这样一个sql 语句,但是这样的sql语句有IN这样的操作.在我们的mybatis中有相对应的操作 SELECT * FROM product_db ...
- 一个JavaScript触发器插件,可通过指定频次、指定时间内触发指定的处理函数
js-trigger是一个JavaScript触发器插件,可通过指定频次.指定时间内触发指定的处理函数 Tango<tanwei_yx@126.com> 特性 支持AMD/CMD/Comm ...
- 一步一步带你做WebApi迁移ASP.NET Core2.0
随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的ASP.NET WebApi站点,就可以跨平台运行在Linux中.我们有必要先说一下ASP.NET Core. ASP ...