您的位置:首页 > 编程语言 > ASP

asp.net发送短信

2016-04-17 22:24 549 查看
public class SmsServiceManager
{
public static string Send(string PhoneNumber, out string sendNo)
{
sendNo = GetRandomNum();  // 得到发送的验证码
//  当然 你也可以在这里或下面把这个SendNo插入数据库,就不用反回这个sendNO了
string tmp = "";
if (PhoneNumber != "")
{
//  http://XXXXXXX/sms/interSms.aspx?smsUid=leizi&smsPwd=leizi123456&smsNumber={0}&smsContent={1}&smsWantTime=" //     因WebConfig中不&要转义成&所以配置如下,把  &  改成  &  就得到如下地址
// WebConfig中的配置为 value="http://XXXXXXX/sms/interSms.aspx?smsUid=leizi&smsPwd=leizi123456&smsNumber={0}&smsContent={1}&smsWantTime="
string urlData = ConfigurationManager.AppSettings["SmsUrl"].ToString();
string SMSContent = ConfigurationManager.AppSettings["SMSContent"].ToString();  // 发送的内容  "欢迎注册XXX,您的验证码是:{0}"这种
SMSContent = string.Format(SMSContent, sendNo);
string url = "";
string urldata = "";
if (!string.IsNullOrEmpty(urlData))
{
string[] arrUrlData = urlData.Split('?');
if (arrUrlData != null && arrUrlData.Length == 2)
{
url = arrUrlData[0];      // 服务地址 http://XXXXXXX/sms/interSms.aspx urldata = arrUrlData[1]; // 参数 smsUid=leizi&smsPwd=leizi123456&smsNumber={0}&smsContent={1}&smsWantTime=
}
else
return "url配置错误!";
}
else
return "url配置错误!";               // 这个引用using system.web   对上面的{0},{1}格式化
urldata = string.Format(urldata, PhoneNumber,SMSContent);
byte[] data = Encoding.UTF8.GetBytes(urldata);
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);// http://XXXXXXX/sms/interSms.aspx myRequest.Method = "POST";
myRequest.Timeout = 10000;
myRequest.ContentType = "application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
Stream newStream = myRequest.GetRequestStream();
// Send the data.
newStream.Write(data, 0, data.Length);
newStream.Close();
//接收返回信息:
HttpWebResponse response = (HttpWebResponse)myRequest.GetResponse();
StreamReader sreader = new StreamReader(response.GetResponseStream(), Encoding.Default);
tmp = sreader.ReadToEnd();   // 读取反回信息
}
return tmp;
}

public static string GetRandomNum()
{
string[] arr = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" };
string result = "";
Random r = new Random();
for (int i = 0; i < 6; i++)
{
result += arr[r.Next(0, 10)];
}
return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: