发送短信验证码及调用短信接口与C#后台post发送

coding

#region 调用短信接口

public ActionResult Mobile(string Tel)//调用接口

{

Random rm = new Random();

int i;

string str = string.Empty;

for (int p = 0; p < 6; p++)

{

i = Convert.ToInt32(rm.NextDouble() * 10);

str += i;

}

System.Web.HttpContext.Current.Session["Code"] = str;

//string stringSendResult = SendMobileCode(Tel, str);//方法一

string stringSendResult2 = Send(Tel, "验证码是:" + str);

return Json(true, JsonRequestBehavior.AllowGet);//短信发送成功

}

#endregion

#region 方法一(可能有些问题,走不通的先试用方法二)

publicstring SendMobileCode(string Mobile, string number)

{

if (string.IsNullOrEmpty(Mobile)) return"发送失败";

var str = "您的验证码为:" + number + ",5分钟有效,请尽快认证";

str = HttpUtility.UrlEncode(str, Encoding.GetEncoding("gb2312"));

string Chuo = DateTime.Now.ToString("yyyyMMddHHmmss");//时间戳

string MD5Chuo = "wdyzmwdyzm@456321" + Chuo;//账号 + 密码 + 时间戳 的MD5

string sign = Encrypt(MD5Chuo);

var url = "http://这里是地址/接口方法?参数1=send&参数2=111&时间戳=" + chuo + "&签名=" + sign + "&手机号=" + tel + "&发送内容=" + number + "&参数3=&参数4=";

var rst = (HttpWebRequest)WebRequest.Create(url);

var rsp = (HttpWebResponse)rst.GetResponse();

var reader = new StreamReader(rsp.GetResponseStream(), Encoding.GetEncoding("gb2312"));

reader.ReadToEnd();

reader.Close();

return number;

}

#endregion

#region 方法二

#region

publicstring Send(string tel, string number)

{

string chuo = DateTime.Now.ToString("yyyyMMddHHmmss");//时间戳

string MD5s = "wdyzmwdyzm@456321" + chuo;//账号 + 密码 + 时间戳 的MD5

string sign = Encrypt(MD5s);

string posturl = "http://这里是地址/接口方法?参数1=send&参数2=111&时间戳=" + chuo + "&签名=" + sign + "&手机号=" + tel + "&发送内容=" + number + "&参数3=&参数4=";

return GetPage(posturl);//以post的形式发送出去

}

#endregion

#region

publicstring GetPage(string posturl)

{

Stream outstream = null;

Stream instream = null;

StreamReader sr = null;

HttpWebResponse response = null;

HttpWebRequest request = null;

Encoding encoding = Encoding.UTF8;

//byte[] data = encoding.GetBytes(postData);

// 准备请求...

try

{

// 设置参数

request = WebRequest.Create(posturl) as HttpWebRequest;

CookieContainer cookieContainer = new CookieContainer();

request.CookieContainer = cookieContainer;

request.AllowAutoRedirect = true;

request.Method = "POST";//post的形式

request.ContentType = "application/x-www-form-urlencoded";

//request.ContentLength = data.Length;

outstream = request.GetRequestStream();

//outstream.Write(data, 0, data.Length);

outstream.Close();

//发送请求并获取相应回应数据

response = request.GetResponse() as HttpWebResponse;

//直到request.GetResponse()程序才开始向目标网页发送Post请求

instream = response.GetResponseStream();

sr = new StreamReader(instream, encoding);

//返回结果网页(html)代码

string content = sr.ReadToEnd();

string err = string.Empty;

return content;

}

catch (Exception ex)

{

string err = ex.Message;

//Response.Write(err);

//return string.Empty;

return err;

}

}

#endregion

#endregion
ps:已简化

以上是 发送短信验证码及调用短信接口与C#后台post发送 的全部内容, 来源链接: utcz.com/z/510012.html

回到顶部