asp.net发送短信
2016-04-17 22:24
549 查看
public class SmsServiceManager { public static string Send(string PhoneNumber, out string sendNo) { sendNo = GetRandomNum(); // 得到发送的验证码 // 当然 你也可以在这里或下面把这个SendNo插入数据库,就不用反回这个sendNO了 string tmp = ""; if (PhoneNumber != "") { // http://XXXXXXX/sms/interSms.aspx?smsUid=leizi&smsPwd=leizi123456&smsNumber={0}&smsContent={1}&smsWantTime=" // 因WebConfig中不&要转义成&所以配置如下,把 & 改成 & 就得到如下地址 // WebConfig中的配置为 value="http://XXXXXXX/sms/interSms.aspx?smsUid=leizi&smsPwd=leizi123456&smsNumber={0}&smsContent={1}&smsWantTime=" string urlData = ConfigurationManager.AppSettings["SmsUrl"].ToString(); string SMSContent = ConfigurationManager.AppSettings["SMSContent"].ToString(); // 发送的内容 "欢迎注册XXX,您的验证码是:{0}"这种 SMSContent = string.Format(SMSContent, sendNo); string url = ""; string urldata = ""; if (!string.IsNullOrEmpty(urlData)) { string[] arrUrlData = urlData.Split('?'); if (arrUrlData != null && arrUrlData.Length == 2) { url = arrUrlData[0]; // 服务地址 http://XXXXXXX/sms/interSms.aspx urldata = arrUrlData[1]; // 参数 smsUid=leizi&smsPwd=leizi123456&smsNumber={0}&smsContent={1}&smsWantTime= } else return "url配置错误!"; } else return "url配置错误!"; // 这个引用using system.web 对上面的{0},{1}格式化 urldata = string.Format(urldata, PhoneNumber,SMSContent); byte[] data = Encoding.UTF8.GetBytes(urldata); HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);// http://XXXXXXX/sms/interSms.aspx myRequest.Method = "POST"; myRequest.Timeout = 10000; myRequest.ContentType = "application/x-www-form-urlencoded"; myRequest.ContentLength = data.Length; Stream newStream = myRequest.GetRequestStream(); // Send the data. newStream.Write(data, 0, data.Length); newStream.Close(); //接收返回信息: HttpWebResponse response = (HttpWebResponse)myRequest.GetResponse(); StreamReader sreader = new StreamReader(response.GetResponseStream(), Encoding.Default); tmp = sreader.ReadToEnd(); // 读取反回信息 } return tmp; } public static string GetRandomNum() { string[] arr = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" }; string result = ""; Random r = new Random(); for (int i = 0; i < 6; i++) { result += arr[r.Next(0, 10)]; } return result; }
相关文章推荐
- 跨平台运行ASP.NET Core 1.0(转载)
- ASP.NET网站设计学习篇一
- ASP.NET C# MD5加密
- asp.net控件库FineUI使用入门图解
- ZBlog你选择PHP还是ASP?
- DevExpress控件安装和初次使用图解
- asp.net 页面父类与子类方法执行的顺序
- ASP.NET MVC下基于异常处理的完整解决方案
- Asp.net Mvc 请求处理图解
- ASP.NET MVC之Unobtrusive Ajax(五)
- 树莓派(Raspberry Pi)瞎捣鼓
- ubuntu下使用VNC连接树莓派raspberry
- ASP.NET Core中的依赖注入(5):ServicePrvider实现揭秘【补充漏掉的细节】
- asp.net Forms身份验证详解
- asp.net mvc +easyui 实现权限管理(二)
- asp.net网站的初探
- asp.net中页面按钮回车默认执行 设置方法
- asp.net webapi 参数绑定总结
- 使用一般处理程序,模拟ASP.NET MVC,开发一个轻量级的学习版MVC框架。
- 网站后台登录aspcms 提示错误号:-2147467259,错误描述:操作必须使用一个可更新的查询。sql=update AspCms_Content set TimeStatus=0 where TimeStatus=1 and Timeing <= 解决方法。