发短信

前言

这是一个短信测试的小例子。首先要准备的是注册一个账号,当然账号是免费的,有5条免费的短信可以发送。注册地址:http://www.smschinese.cn/Login.shtml

有了账号、秘钥,还可以看看短信服务商提供的api,地址:http://www.smschinese.cn/api.shtml

通过api就可以实现了,当然,每个服务商的api都不一样

下面记录我的短信测试例子。

首先:新建一个类,代码如下:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Net;
 6 using System.IO;
 7 using System.Text;
 8 namespace Ajax
 9 {
10     /// <summary>
11     /// 短信发送后返回值    说 明
12     ///         1   发送成功
13             ///-1    没有该用户账户
14             ///-2    密钥不正确 [查看密钥]
15             ///-3    短信数量不足
16             ///-11    该用户被禁用
17             ///-14    短信内容出现非法字符  
18             ///-4    手机号格式不正确
19             ///-41    手机号码为空
20             ///-42    短信内容为空
21             ///大于0    短信发送数量
22     /// </summary>
23     public class SendDuanXi
24     {
25         private string url = "http://utf8.sms.webchinese.cn/?"; //url
26         private string strUid = "Uid=xxxx";//账号
27         private string strKey = "&key=xxxx"; //秘钥
28         private string strMob = "xxxx";//要发送的手机号
29         private string strContent = "xxxx";//要发送的内容
30 
31         public SendDuanXi(string strMob, string strContent)
32         {
33             this.strMob = strMob;
34             this.strContent = strContent;
35         }
36 
37         //拼接url
38         public string GetUrl()
39         {
40             //http://utf8.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全密码&smsMob=手机号码&smsText=短信内容
41             return url = url + strUid + strKey + "&smsMob=" + strMob + "&smsText=" + strContent; 
42         }
43         //调用时只需要把拼成的URL传给该函数即可。判断返回值即可
44         public string GetHtmlFromUrl(string url)
45         {
46             string strRet = null;
47             if (url == null || url.Trim().ToString() == "")
48             {
49                 return strRet;
50             }
51             string targeturl = url.Trim().ToString();
52             try
53             {
54                 HttpWebRequest hr = (HttpWebRequest)WebRequest.Create(targeturl);
55                 hr.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
56                 hr.Method = "GET";
57                 hr.Timeout = 30 * 60 * 1000;
58                 WebResponse hs = hr.GetResponse();
59                 Stream sr = hs.GetResponseStream();
60                 StreamReader ser = new StreamReader(sr, Encoding.Default);
61                 strRet = ser.ReadToEnd();
62             }
63             catch (Exception ex)
64             {
65                 strRet = null;
66             }
67             return strRet;
68         }
69     }
70 }
View Code

最后,调用这个类,就可以实现发短信功能,代码如下:

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>");
View Code

 

结束

之前没接触过,觉得挺不可思议的,看了之后会发现,这些东西都是很成熟的东西了而且是很基础的东西。参照服务商提供的api就可以了。

 

posted @ 2013-12-18 09:32  泷泷  阅读(943)  评论(4编辑  收藏  举报