发短信
这是一个短信测试的小例子。首先要准备的是注册一个账号,当然账号是免费的,有5条免费的短信可以发送。注册地址:http://www.smschinese.cn/Login.shtml
有了账号、秘钥,还可以看看短信服务商提供的api,地址:http://www.smschinese.cn/api.shtml
通过api就可以实现了,当然,每个服务商的api都不一样
下面记录我的短信测试例子。
首先:新建一个类,代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Net; using System.IO; using System.Text; namespace Ajax { /// <summary> /// 短信发送后返回值 说 明 /// 1 发送成功 ///-1 没有该用户账户 ///-2 密钥不正确 [查看密钥] ///-3 短信数量不足 ///-11 该用户被禁用 ///-14 短信内容出现非法字符 ///-4 手机号格式不正确 ///-41 手机号码为空 ///-42 短信内容为空 ///大于0 短信发送数量 /// </summary> public class SendDuanXi { private string url = "http://utf8.sms.webchinese.cn/?"; //url private string strUid = "Uid=xxxx";//账号 private string strKey = "&key=xxxx"; //秘钥 private string strMob = "xxxx";//要发送的手机号 private string strContent = "xxxx";//要发送的内容 public SendDuanXi(string strMob, string strContent) { this.strMob = strMob; this.strContent = strContent; } //拼接url public string GetUrl() { //http://utf8.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全密码&smsMob=手机号码&smsText=短信内容 return url = url + strUid + strKey + "&smsMob=" + strMob + "&smsText=" + strContent; } //调用时只需要把拼成的URL传给该函数即可。判断返回值即可 public string GetHtmlFromUrl(string url) { string strRet = null; if (url == null || url.Trim().ToString() == "") { return strRet; } string targeturl = url.Trim().ToString(); try { HttpWebRequest hr = (HttpWebRequest)WebRequest.Create(targeturl); hr.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"; hr.Method = "GET"; hr.Timeout = 30 * 60 * 1000; WebResponse hs = hr.GetResponse(); Stream sr = hs.GetResponseStream(); StreamReader ser = new StreamReader(sr, Encoding.Default); strRet = ser.ReadToEnd(); } catch (Exception ex) { strRet = null; } return strRet; } } }
最后,调用这个类,就可以实现发短信功能,代码如下:
1 SendDuanXi send = new SendDuanXi("xxxx","cccc");//xxxx是要发送的电话号码;cccc是发送的内容 2 string url = send.GetUrl(); 3 string Result = send.GetHtmlFromUrl(url); 4 5 Response.Write("<script>alert('"+Result+"');</script>");