C#发短信
前言
这是一个短信测试的小例子。首先要准备的是注册一个账号,当然账号是免费的,有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 }
调用
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>");
注:(本文转自http://www.cnblogs.com/zl879211310/archive/2013/12/18/3479695.html)