发短信

这是一个短信测试的小例子。首先要准备的是注册一个账号,当然账号是免费的,有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>");

 

posted @ 2013-12-18 13:56  skynetfy  阅读(245)  评论(0编辑  收藏  举报