设为首页 加入收藏

TOP

使用阿里云的短信服务发送短信(二)
2019-09-17 19:08:05 】 浏览:94
Tags:使用 阿里 云的 短信服务 发送 短信
reVersion
", "1.0"); keyValues.Add("Timestamp", nowDate); keyValues.Add("Format", "Json");//可换成xml //2.业务api参数 keyValues.Add("Action", "SendSms"); keyValues.Add("Version", "2017-05-25"); keyValues.Add("RegionId", "cn-hangzhou"); keyValues.Add("PhoneNumbers", mobile); keyValues.Add("SignName", SignName); keyValues.Add("TemplateParam", "{\"code\":\"" + code + "\"}"); keyValues.Add("TemplateCode", templateCode); keyValues.Add("OutId", "123"); //3.去除签名关键字key if (keyValues.ContainsKey("Signature")) { keyValues.Remove("Signature"); } //4.参数key排序 Dictionary<string, string> ascDic = keyValues.OrderBy(o => o.Key).ToDictionary(o => o.Key, p => p.Value.ToString()); //5.构造待签名的字符串 StringBuilder builder = new StringBuilder(); foreach (var item in ascDic) { if (item.Key == "SignName") { } else { builder.Append("&").Append(specialUrlEncode(item.Key)).Append("=").Append(specialUrlEncode(item.Value)); } if (item.Key == "RegionId") { builder.Append("&").Append(specialUrlEncode("SignName")).Append("=").Append(specialUrlEncode(keyValues["SignName"])); } } string sorteQueryString = builder.ToString().Substring(1); StringBuilder stringToSign = new StringBuilder(); stringToSign.Append("GET").Append("&"); stringToSign.Append(specialUrlEncode("/")).Append("&"); stringToSign.Append(specialUrlEncode(sorteQueryString)); string Sign = MySign(AccessKeySecret + "&", stringToSign.ToString()); //6.签名最后也要做特殊URL编码 string signture = specialUrlEncode(Sign); //最终打印出合法GET请求的URL string url = string.Format("http://{0}/?Signature={1}{2}", endpoint, signture, builder); string result = GetHtmlFormUrl(url); return result; } /// <summary> /// 短信接口C#调用方法 /// </summary> /// <param name="url"></param> /// <returns></returns> private static string GetHtmlFormUrl(string url) { string strRet = null; if (url == null || url.Trim().ToString() == "") { return strRet; } string targeturl = url.Trim().ToString(); try { HttpWebRequest hr = (HttpWebRequest)WebRequest.Create(targeturl); hr.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"; hr.Method = "GET"; hr.Timeout = 30 * 60 * 1000; WebResponse hs = hr.GetResponse(); Stream sr = hs.GetResponseStream(); StreamReader ser = new StreamReader(sr, Encoding.UTF8); strRet = MessageHandle(ser.ReadToEnd()); } catch (Exception ex) { strRet = "短信发送失败!" + ex.Message; } return strRet; } /// <summary> /// 验证手机号码是否合法 /// </summary> /// <param name="mobile">电话号码</param> /// <returns></returns> public static bool IsMobile(string mobile) { return System.Text.RegularExpress
首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇测试live writer 下一篇.net core 与ELK(5)安装logstash

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目