zoukankan      html  css  js  c++  java
  • asp.net发送短信

     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;
            }
  • 相关阅读:
    线程同步的方法
    为什么HashMap中key是引用类型而不是基本数据类型?为什么有了基本数据类型还有包装类型?
    使用MyBatis的mapper接口(动态代理对象)调用时的注意点
    redis的aof持久化模式
    redis的RDB持久化方式的优缺点
    快排算法
    JAVA8新特性
    NIO中Buffer的capacity,position和limit含义
    ArrayBlockingQueue与LinkedBlockingQueue对比
    写加锁但读没有加锁造成的脏读问题
  • 原文地址:https://www.cnblogs.com/yingger/p/5402553.html
Copyright © 2011-2022 走看看