.net 短信验证码

这是一个.NET应用程序中实现短信验证码发送的示例代码。当用户点击按钮时,生成一个4位随机验证码并存储在用户会话中,然后从数据库获取用户手机号,通过HTTP POST请求将验证码内容发送到指定的短信API地址。
摘要由CSDN通过智能技术生成
  protected void Button1_Click(object sender, EventArgs e)
    {
        Random rd = new Random();
      string   yzm = rd.Next(1000, 10000).ToString();
        UserHer.yzm = yzm;
        string content = "【网络】你好,你的验证码是:" + yzm + " 。请勿泄露";
        int UserId = int.Parse(base.Session["User_ID"].ToString());
        CS.Base.Crud.Crud crud = new CS.Base.Crud.Crud();
        DataTable table = crud.QueryTable("select C_mobile from ds_contact where User_ID=" + UserId);
        decimal moble = Convert.ToDecimal(table.Rows[0][0].ToString());
        //发送短信
        string param = "userid=2271&account=13048819222&password=123456&mobile="+moble+"&content=" + content + "&sendTime=&action=send&extno=2121";


        byte[] bs = Encoding.UTF8.GetBytes(param);


        string url = "http://120.25.105.164:8888/sms.aspx";


        //string returnZ = GetPostContent("http://120.25.105.164:8888/sms.aspx", param);


        //Response.Write(returnZ);
        //Response.End();


        HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
        req.Method = "POST";
        req.ContentType = "application/x-www-form-urlencoded";
        req.ContentLength = bs.Length;


        using (Stream reqStream = req.GetRequestStream())
        {
            reqStream.Write(bs, 0, bs.Length);
        }
        using (WebResponse wr = req.GetResponse())
        {
            StreamReader sr = new StreamReader(wr.GetResponseStream(), System.Text.Encoding.UTF8);
            string returnZ = sr.ReadToEnd().Trim();
            Response.Write(returnZ);
            Jscript.AlertAndRedirect("发送验证码成功", "../Member/User_Password_Edit.aspx");
            Response.End();
            
        }
    }
    private string GetPostContent(string strUrl,string data)
    {
        string strMsg = string.Empty;
        try
        {
            //string data = "userName=admin&passwd=admin888";
            byte[] requestBuffer = System.Text.Encoding.GetEncoding("UTf-8").GetBytes(data);


            WebRequest request = WebRequest.Create(strUrl);
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = requestBuffer.Length;
            using (Stream requestStream = request.GetRequestStream())
            {
                requestStream.Write(requestBuffer, 0, requestBuffer.Length);
                requestStream.Close();
            }


            WebResponse response = request.GetResponse();
            using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8")))
            {
                strMsg = reader.ReadToEnd();
                reader.Close();
            }
        }
        catch
        { }
        return strMsg;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值