ASP.NET(C#)验证码通知短信DEMO示例代码



//接口类型:互亿无线短信接口平台,支持发送验证码短信、订单通知短信等。
 //账户注册:通过该链接免费开通账号 https://user.ihuyi.com/new/register.html
 // 注意事项:
 //(1)调试期间,请使用用系统默认的短信内容:您的验证码是:【变量】。请不要把验证码泄露给其他人。
 //(2)请使用您专属的 APIID 和 APIKEY 来调用接口,可在会员中心获取;
 //(3)提供的代码示例仅供参考,您可以根据具体需求自行开发适用于您的应用程序的代码。
 
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.IO;
using System.Net;
using System.Text;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
 
public partial class Post : System.Web.UI.Page
{
    public static string PostUrl = ConfigurationManager.AppSettings["WebReference.Service.PostUrl"];
    protected void Page_Load(object sender, EventArgs e)
    {
        string account = "用户名";//查看用户名 登录用户中心->验证码通知短信>产品总览->API接口信息->APIID
        string password = "密码"; //查看密码 登录用户中心->验证码通知短信>产品总览->API接口信息->APIKEY
        string mobile = Request.QueryString["mobile"];
        Random rad = new Random();
        int mobile_code = rad.Next(1000, 10000);
        string content = "您的验证码是:" + mobile_code + " 。请不要把验证码泄露给其他人。";
         
        //Session["mobile"] = mobile;
        //Session["mobile_code"] = mobile_code;
         
        string postStrTpl = "account={0}&password={1}&mobile={2}&content={3}";
 
        UTF8Encoding encoding = new UTF8Encoding();
        byte[] postData = encoding.GetBytes(string.Format(postStrTpl, account, password, mobile, content));
 
        HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(PostUrl);
        myRequest.Method = "POST";
        myRequest.ContentType = "application/x-www-form-urlencoded";
        myRequest.ContentLength = postData.Length;
 
        Stream newStream = myRequest.GetRequestStream();
        // Send the data.
        newStream.Write(postData, 0, postData.Length);
        newStream.Flush();
        newStream.Close();
 
        HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
        if (myResponse.StatusCode == HttpStatusCode.OK)
        {
            StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
 
               //Response.Write(reader.ReadToEnd());
 
               string res = reader.ReadToEnd();
               int len1 = res.IndexOf("

/code>"); int len2 = res.IndexOf("

code>"); string code=res.Substring((len2+6),(len1-len2-6)); //Response.Write(code); int len3 = res.IndexOf("

/msg>"); int len4 = res.IndexOf("

msg>"); string msg=res.Substring((len4+5),(len3-len4-5)); Response.Write(msg); Response.End(); }else{ //访问失败 } } }