手机发送验证码—.net代码

      注册过程中,短信发送验证码流程如下:

(1).用户提交手机号码,申请湖区验证码 

(2).网站按照预制规则生成验证码

(3).网站将用户手机号码和验证码发送到短信平台

(4).将制定内容发送到制定手机号码

(5).用户收到验证码后,提交验证

(6).判断,提交表单

 接口代码如下:

<span style="font-size:18px;">try{
Encoding myEncoding = Encoding.GetEncoding("UTF-8");
string param = "action=send&userid=" + userid + "&account=" + HttpUtility.UrlEncode(account, myEncoding) + "&password=" + HttpUtility.UrlEncode(password, myEncoding) + "&mobile=13012317839,13210910291&content=" + HttpUtility.UrlEncode(content, myEncoding) + "&sendTime=" + HttpUtility.UrlEncode(sendTime, myEncoding) + "&mobilenumber=2&countnumber=2&telephonenumber=0";
byte[] postBytes = Encoding.ASCII.GetBytes(param);
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://xtx.telhk.cn:8888/sms.aspx");
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
req.ContentLength = postBytes.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(postBytes, 0, postBytes.Length);
}
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
using (WebResponse wr = req.GetResponse())
{
StreamReader sr = new StreamReader(wr.GetResponseStream(), System.Text.Encoding.UTF8);
System.IO.StreamReader xmlStreamReader = sr;
xmlDoc.Load(xmlStreamReader);
}
if (xmlDoc == null)
{
MessageBox.Show("请求发生异常" );
}
else {
String message = xmlDoc.GetElementsByTagName("message").Item(0).InnerText.ToString();
if(message =="ok"){
MessageBox.Show("发送成功" );
}
else {
MessageBox.Show(message );
}
}
}
catch (System.Net.WebException WebExcp)
{
MessageBox.Show("网络错误,无法连接到服务器!" );
}
</span>
其中,userid 是企业id, account是发送用户账号,password是发送账号的密码, 这些都来自短信接口运营商

content是发送内容,sendTime是定时发送,当为空时,表示立即发送 action是发送任务命令  checkcontent是检查内容包含非法关键字   taskName是任务名称,countnumber号码总数量,mobilenumber是说及号码数量,telephonenumber是小灵通或座机号码数。

通过短信运营商的短信接口,实现发送短信的任务。在content中,设置想发送的内容,通常是验证码,在发送成功后,同时把发送的验证码存入数据库,或者存在session中,以便用户提交后,进行判断验证码是否正确。都判断通过后,方可实现各种功能。

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted on 2014-12-28 14:56  路春霞  阅读(358)  评论(0编辑  收藏  举报

导航