using System;
using System.IO;
using System.Net;
using System.Security.Cryptography;
using System.Text;
using System.Web;
namespace Report
{
/// <summary>
/// 结构名:PESMS
/// 编 写:张远强
/// 版 本:1.0.0
/// 日 期:2009-12-22
/// 描 述:动易短信通接口参数
/// </summary>
public struct PESMS
{
public string URL;
public string Key;
public string ID;
public string UserName;
public string SendNum;
public string Content;
public string SendTiming;
public string SendTime;
public string MD5String;
public string Reserve;
}
/// <summary>
/// 类 名:SendSMS
/// 编 写:张远强
/// 版 本:1.0.0
/// 日 期:2009-12-21
/// 描 述:短信发送类
/// </summary>
public static class SendSMS
{
public static string Send(string sendNum, string content)
{
/*** 参数配置 ***/
PESMS pesms = new PESMS();
pesms.URL = "http://sms.powereasy.net/MessageGate/Message.aspx";
pesms.Key = "";//需修改,MD5私钥,短信通平台设置获取
pesms.ID = DateTime.Now.ToString("yyyyMMddHHmmss");
pesms.UserName = "";//需修改,短信通平台用户名
pesms.SendNum = sendNum;
pesms.Content = content;
pesms.SendTiming = "0";
pesms.SendTime = DateTime.Now.ToString();
pesms.Reserve = "";
pesms.MD5String = MD5(pesms.ID + pesms.UserName + pesms.Key + pesms.SendNum + pesms.Content + pesms.SendTiming + pesms.SendTime);
/*** 短信发送 ***/
try
{
//编码方式
Encoding gb2312 = Encoding.GetEncoding("gb2312");
//接口地址
string sendURL = string.Format("{0}?ID={1}&UserName={2}&SendNum={3}&Content={4}&SendTiming={5}&SendTime={6}&MD5String={7}&Reserve={8}", pesms.URL, pesms.ID, pesms.UserName, pesms.SendNum, HttpUtility.UrlEncode(pesms.Content, gb2312), pesms.SendTiming, pesms.SendTime, pesms.MD5String, HttpUtility.UrlEncode(pesms.Reserve, gb2312));
//请求
WebRequest Request = WebRequest.Create(sendURL);
Request.ContentType = "application/x-www-form-urlencoded";
Request.Method = "GET";
//响应
WebResponse Response = Request.GetResponse();
using (StreamReader Reader = new StreamReader(Response.GetResponseStream(), gb2312))
{
string message = Reader.ReadToEnd();
if (message.IndexOf("短信已经提交到发送队列") != -1)
return "1|" + message + "|" + sendURL;
else
return "0|" + message + "|" + sendURL;
}
}
catch(Exception ex)
{
return "0|" + ex.Message;
}
}
/// <summary>
/// MD5加密(兼容ASP)
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
private static string MD5(string str)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] t = md5.ComputeHash(Encoding.GetEncoding("gb2312").GetBytes(str));
StringBuilder sb = new StringBuilder(32);
for (int i = 0; i < t.Length; i++)
{
sb.Append(t[i].ToString("x").PadLeft(2, '0'));
}
return sb.ToString();
}
}
}
<script type="text/javascript"><!--
google_ad_client = "pub-1985112462197986";
/* 新广告 336x280, 创建于 10-8-20 */
google_ad_slot = "6915893334";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><script type="text/javascript"><!--
google_ad_client = "pub-1985112462197986";
/* 336x280, 创建于 10-6-25 */
google_ad_slot = "9255958887";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
分享到:
相关推荐
部署时,确保动易短信平台的API接口能够正确访问,并监控发送短信的失败率。 通过以上步骤,你可以在.NET环境下成功实现手机短信验证功能,有效提升应用程序的安全性和用户体验。然而,实际应用中可能还需要根据...
6. **API集成**:动易SMS页模板往往需要与第三方短信服务商的API接口进行对接,以实现实时发送和接收短信。开发者需要了解如何配置和调用这些API,确保短信服务的正常运行。 7. **数据库交互**:模板需要与数据库...
提供与动网、oblog、动易实现用户整合的标准接口 支持好友管理和站内短信 支持无限级问题分类 完善的用户中心 部分页面采用ajax技术,减少页面刷新次数,增强用户体验 提供整合动网论坛、动易和oBlog的标准整合...
提供与动网、oblog、动易实现用户整合的标准接口 支持好友管理和站内短信 支持无限级问题分类 完善的用户中心 部分页面采用ajax技术,减少页面刷新次数,增强用户体验 提供整合动网论坛、动易和oBlog的标准整合...
提供与动网、oblog、动易实现用户整合的标准接口 支持好友管理和站内短信 支持无限级问题分类 完善的用户中心 部分页面采用ajax技术,减少页面刷新次数,增强用户体验 提供整合动网论坛、动易和oBlog的...
完善的后台管理功能 支持问题的附件上传 对搜索引擎的优化:支持Keywords和Description页面头部标签的自定义 支持 JS 代码的问题调用 提供与动网、oblog、动易实现用户整合的标准接口 支持好友管理和站内短信 ...
提供与动网、oblog、动易实现用户整合的标准接口 支持好友管理和站内短信 支持无限级问题分类 完善的用户中心 部分页面采用ajax技术,减少页面刷新次数,增强用户体验 提供整合动网论坛、动易和oBlog的标准整合...
CMS插件,提供动易CMS一键转换至淘特CMS。 投稿库和文章库分离的原则,只有在稿件通过审核后才发布至文章库。 自定义函数功能,管理员可以自定义SQL查询获取系统标签不能实现的各种效果。 文章模板和栏目模板支持...
12、CMS插件,提供动易CMS一键转换至淘特CMS。 13、投稿库和文章库分离的原则,只有在稿件通过审核后才发布至文章库。 14、自定义函数功能,管理员可以自定义SQL查询获取系统标签不能实现的各种效果。 15、文章...