发短信

前言

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

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

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

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

 

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

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

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

1 1  SendDuanXi send = new SendDuanXi("xxxx","cccc");//xxxx是要发送的电话号码;cccc是发送的内容
2 2             string url = send.GetUrl();
3 3             string Result = send.GetHtmlFromUrl(url);
4 4 
5 5             Response.Write("<script>alert('"+Result+"');</script>");
View Code

结束

参照服务商提供的api就可以了。

 

注:(本文转自http://www.cnblogs.com/zl879211310/archive/2013/12/18/3479695.html)

posted on 2013-12-25 11:32  恋那片海  阅读(288)  评论(0编辑  收藏  举报