云片网短信通用类

    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# 实现阿里大鱼和云片网短信接口类的更多相关文章

  1. 阿里大鱼.net core 发送短信

    阿里大鱼还未提供 .net core 版SDK,但提供了相关API,下面是.net core版实现,只是简单发送短信功能: using System; using System.Collections ...

  2. TP3.2.3 接入阿里sms 短信接口

    阿里云短信接口 配置文件 config.php //阿里大鱼 'Ali_SMS' =>array( 'sms_temp' =>'短信模板', 'sms_sign' =>'签名', ' ...

  3. asp.net mvc短信接口调用——阿里大于API开发心得

    互联网上有许多公司提供短信接口服务,诸如网易云信.阿里大于等等.我在自己项目里需要使用到短信服务起到通知作用,实际开发周期三天,完成配置.开发和使用,总的说,阿里大于提供的接口易于开发,非常的方便,短 ...

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

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

  5. 阿里大鱼短信接口(Python3版)

    近期由于须要用到短信接口,选型的的结果是用阿里大鱼的短信服务,然而淘宝开放平台(TOP)的SDK已经非常多年没有更新了.不支持python3.自己动手改了半天,还是不太正常,索性不用它,自己写一个算了 ...

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

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

  7. asp调用短信接口实现用户注册

    前几天做一个asp语言开发的网站需要实现用户注册短信验证功能,就研究了一下如何实现,简单给大家分享下调用过程. 首先需要找到一个第三方短信接口,当时用的是动力思维乐信的短信接口. 首先需要先注册个动力 ...

  8. laravel+阿里大于实现发送验证码短信

    一.短信服务使用阿里大于提供的短信接口 阿里大于官方网站上的接入流程: 在阿里大于申请接口后,需要做以下操作: 申请签名 申请短信模板 创建Accesskey,可以通过权限最大的Accesskey创建 ...

  9. THINKPHP3.2.3增加阿里云短信接口思路整理

    https://help.aliyun.com/document_detail/55359.html?spm=5176.product44282.4.7.O4lc1n 阿里云短信服务地址,感冒的下载看 ...

随机推荐

  1. Java课程设计-学生基本信息管理 201521123036

    团队课程设计博客链接 团队博客链接 个人负责模块或任务说明 个人负责模块 任务说明 用户登录,注册 登录,注册,判断用户是否存在,添加用户 学生信息管理菜单 按钮,跳转相应界面,退出程序 学生信息添加 ...

  2. 201521145048《java程序与设计》第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自 ...

  3. java第十四次作业

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自 ...

  4. 201521123001《Java程序设计》第13周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu ...

  5. 201521123118《java程序与设计》第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 1. 常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出 ...

  6. win10- *.msi 软件的安装,比如 SVN安装报2503,2502

    1, 以管理员身份打开cmd ,   C:\Windows\System32\cmd.exe 2,输入: msiexec /package "安装文件的全路径" 3,按下回车. 例 ...

  7. Eclipse-远程调试服务器代码

    1, 将应用部署到服务器上可以正常启动 2, 在Eclipse中,有相同的项目(程序) 3, 项目右键(ops-web)-->Debug as --> Debug Configuratio ...

  8. 浅谈Linux虚拟内存

    我的orangepi内存很少,所以我打算给它弄个虚拟内存 首先建立一个1G的空文件: dd if=/dev/zero of=/home/swapfile bs=64M count=16 格式化为swa ...

  9. 在eclipse上使用github,向github中提交项目

    1.下载egit插件 打开Eclipse,git需要eclipse授权,通过网页是无法下载egit的安装包的.在菜单栏依次打开eclipse→help→install new software→add ...

  10. GCD之barrier

    1.在并行队列执行任务中,如果想让某一个任务先执行完后再执行其后面的任务,此时可以用dispatch_barrier_async,下图是dispatch_barrier_async函数的处理流程. 2 ...