<address id="xpjh9"><listing id="xpjh9"><meter id="xpjh9"></meter></listing></address>

<address id="xpjh9"><address id="xpjh9"><listing id="xpjh9"></listing></address></address>
<noframes id="xpjh9">
<noframes id="xpjh9">

<address id="xpjh9"><address id="xpjh9"><listing id="xpjh9"></listing></address></address>
    <form id="xpjh9"></form><address id="xpjh9"><listing id="xpjh9"><menuitem id="xpjh9"></menuitem></listing></address>

      <noframes id="xpjh9">
      VB.net 2010 視頻教程 VB.net 2010 視頻教程 VB.net 2010 視頻教程
      SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
      當前位置:
      首頁 > 編程開發 > c#教程 >
      • C#教程之使用阿里云的短信服務發送短信

      • 2019-04-13 21:47 來源:未知

      在給客戶開發一個信息發送功能的時候,需要涉及到短信的發送,短信發送一般不同的廠商提供的接口不同,處理方式也不太一樣,之前用的一個廠商的,提供了一個封裝類就很容易發送短息,因此都是基于HTTP協議做的一個數據發送而已,接觸阿里云的短信服務器后,發現阿里云還增加了非常多的參數,其中包括一些秘鑰和簽名的內容。短信發送由于比較敏感原因,大多數應用場景是驗證碼或者一些固定的信息提醒,因此廠商都要求客戶按預定的模板來發送,這樣限制了短信的應用場景,只能根據業務進行消息定制了。本篇隨筆主要介紹阿里云的短信服務的發送處理。

      1、短信發送的處理介紹

      在短信發送中,阿里云提供自己的SDK封裝,以降低使用的難度,不過需要引入它提供的SDK類庫;本篇隨筆主要介紹基于HTTP方式進行自行的封裝處理,這部分代碼我從網上摘錄并進行一定的調整,測試成功。

      使用阿里云的短信服務,需要注冊登錄自己的阿里云控制臺,然后進入AccessKeys的處理界面

      然后系統會提示需要創建一個新的Key(如果沒有的話就創建,否則使用已有的即可)

      這里我們獲取到AccessKey ID 和Access Key Secret兩個關鍵信息,需要用在數據簽名的里面的。

      另外我們需要創建一個SignName,也就是簽名,一般為我們短信提示的公司名稱,如【廣州愛奇迪】這樣的字樣。

      短信是基于模板的,阿里云不能發送隨意的內容,因此只能基于模板發送,如驗證碼或者業務消息,有點類似微信的模板消息了,因此里面可以添加變量發送的。

      記得我以前寫過一個關于動態變量的信息發送的文章《一個包含動態變量的短信模板設計分析》,就是介紹如何處理變量模板消息的。

      阿里云默認提供了一些基礎模板,如下所示。

      一般我們業務可能還需要定制一些業務消息,那么需要審核通過才可以使用新增的模板消息。

      短信的發送可以利用API接口進行發送,如下所示是它的API說明

      如果需要采集用戶的回復信息,如一些隨訪記錄,那么需要做一個接口的處理,如下所示。

      發送短信的API接口詳細說明如下所示。

      其實請求信息比上面列出的信息多很多,包括秘鑰和數據加密信息等的處理,下面詳細給出代碼說明。 

       

      2、模板消息發送

       有了上面的信息介紹,我們大概了解了短信消息發送的處理規則了。

      實際上,發送信息的時候,我們可能需要添加很多參數信息,如下代碼所示。

      復制代碼
                  Dictionary<string, string> keyValues = new Dictionary<string, string>();//聲明一個字典
                  //1.系統參數
                  keyValues.Add("SignatureMethod", "HMAC-SHA1");
                  keyValues.Add("SignatureNonce", Guid.NewGuid().ToString());
                  keyValues.Add("AccessKeyId", AccessKeyId);
                  keyValues.Add("SignatureVersion", "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");
      復制代碼

      具體我們來貼出不用SDK的短信發送輔助類,如下代碼所示。

      復制代碼
          /// <summary>
          /// 阿里短信發送
          /// </summary>
          public class SmsHelper
          {
              private const string endpoint = "dysmsapi.aliyuncs.com";
              private const string AccessKeyId = "你的秘鑰鍵";
              private const string AccessKeySecret = "你的秘鑰值";
              private const string SignName = "廣州愛奇迪";
      
              /// <summary>
              /// 短信驗證碼
              /// </summary>
              /// <param name="mobile"></param>
              /// <param name="code"></param>
              /// <returns></returns>
              public static string SendSms(string mobile, int code, string templateCode = "SMS_126645400")
              {
                  string nowDate = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd'T'HH:mm:ss'Z'");//GTM時間
                  Dictionary<string, string> keyValues = new Dictionary<string, string>();//聲明一個字典
                  //1.系統參數
                  keyValues.Add("SignatureMethod", "HMAC-SHA1");
                  keyValues.Add("SignatureNonce", Guid.NewGuid().ToString());
                  keyValues.Add("AccessKeyId", AccessKeyId);
                  keyValues.Add("SignatureVersion", "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.RegularExpressions.Regex.IsMatch(mobile, @"^1[3|4|5|7|8][0-9]\d{8}$");
              }
      
              /// <summary>
              /// URL編碼
              /// </summary>
              /// <param name="value"></param>
              /// <returns></returns>
              private static string specialUrlEncode(string temp)
              {
                  StringBuilder stringBuilder = new StringBuilder();
                  for (int i = 0; i < temp.Length; i++)
                  {
                      string t = temp[i].ToString();
                      string k = HttpUtility.UrlEncode(t, Encoding.UTF8);
                      if (t == k)
                      {
                          stringBuilder.Append(t);
                      }
                      else
                      {
                          stringBuilder.Append(k.ToUpper());
                      }
                  }
                  return stringBuilder.ToString().Replace("+", "%20").Replace("*", "%2A").Replace("%7E", "~");
              }
      
              /// <summary>
              /// HMACSHA1簽名
              /// </summary>
              /// <param name="accessSecret"></param>
              /// <param name="stringToSign"></param>
              /// <returns></returns>
              private static string MySign(string accessSecret, string stringToSign)
              {
                  try
                  {
                      var hmacsha1 = new HMACSHA1(Encoding.UTF8.GetBytes(accessSecret));
                      var dataBuffer = Encoding.UTF8.GetBytes(stringToSign);
                      var hashBytes = hmacsha1.ComputeHash(dataBuffer);
                      string stringbyte = BitConverter.ToString(hashBytes, 0).Replace("-", string.Empty).ToLower();
                      byte[] bytes = strToToHexByte(stringbyte);
                      return Convert.ToBase64String(bytes);
                  }
                  catch (Exception ex)
                  {
      
                      throw ex;
                  }
              }
              /// <summary>
              /// 字符串轉16進制字節數組
              /// </summary>
              /// <param name="hexString"></param>
              /// <returns></returns>
              private static byte[] strToToHexByte(string hexString)
              {
                  hexString = hexString.Replace(" ", "");
                  if ((hexString.Length % 2) != 0)
                      hexString += " ";
                  byte[] returnBytes = new byte[hexString.Length / 2];
                  for (int i = 0; i < returnBytes.Length; i++)
                      returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
                  return returnBytes;
              }
      
              /// <summary>
              /// 消息處理機制
              /// </summary>
              /// <param name="str"></param>
              /// <returns></returns>
              private static string MessageHandle(string str)
              {
                  MessageModel message = JsonConvert.DeserializeObject<MessageModel>(str);
                  string result = "";
                  switch (message.Code)
                  {
                      case "OK":
                          result = "短信發送成功!";
                          break;
                      case "isp.RAM_PERMISSION_DENY":
                          result = "RAM權限DENY";
                          break;
                      case "isv.OUT_OF_SERVICE":
                          result = "業務停機";
                          break;
                      case "isv.PRODUCT_UN_SUBSCRIPT":
                          result = "未開通云通信產品的阿里云客戶";
                          break;
                      case "isv.PRODUCT_UNSUBSCRIBE":
                          result = "產品未開通";
                          break;
                      case "isv.ACCOUNT_NOT_EXISTS":
                          result = "賬戶不存在";
                          break;
                      case "isv.ACCOUNT_ABNORMAL":
                          result = "賬戶異常    ";
                          break;
                      case "isv.SMS_TEMPLATE_ILLEGAL":
                          result = "短信模板不合法";
                          break;
                      case "isv.SMS_SIGNATURE_ILLEGAL":
                          result = "短信簽名不合法";
                          break;
                      case "isv.INVALID_PARAMETERS":
                          result = "參數異常";
                          break;
                      case "isv.MOBILE_NUMBER_ILLEGAL":
                          result = "非法手機號";
                          break;
                      case "isv.MOBILE_COUNT_OVER_LIMIT":
                          result = "手機號碼數量超過限制";
                          break;
                      case "isv.TEMPLATE_MISSING_PARAMETERS":
                          result = "模板缺少變量";
                          break;
                      case "isv.BUSINESS_LIMIT_CONTROL":
                          result = "業務限流";
                          break;
                      case "isv.INVALID_JSON_PARAM":
                          result = "JSON參數不合法,只接受字符串值";
                          break;
                      case "isv.PARAM_LENGTH_LIMIT":
                          result = "參數超出長度限制";
                          break;
                      case "isv.PARAM_NOT_SUPPORT_URL":
                          result = "不支持URL";
                          break;
                      case "isv.AMOUNT_NOT_ENOUGH":
                          result = "賬戶余額不足";
                          break;
                      case "isv.TEMPLATE_PARAMS_ILLEGAL":
                          result = "模板變量里包含非法關鍵字";
                          break;
                  }
                  return result;
              }
      
          }
      
          internal class MessageModel
          {
              public string RequestId { get; set; }
              public string Code { get; set; }
              public string Message { get; set; }
          }
      復制代碼

      上面代碼不是我原創,聲明一下,我做了一些修改調整而已,方便輔助類的使用,我們輸入我們的企業的秘鑰鍵值,然后發送測試短信即可。

                  string tel = "18620292076";
                  string result = SmsHelper.SendSms(tel, 123456);
                  Console.WriteLine(result);

      發送測試,3~5秒就可以收到驗證碼信息的提示了,如下所示。

       以上就是短信消息的發送,希望對使用阿里云短信服務的開發人員有所幫助,輔助類直接就可以使用了。

      主要研究技術:代碼生成工具、會員管理系統、客戶關系管理軟件、病人資料管理軟件、Visio二次開發、酒店管理系統、倉庫管理系統等共享軟件開發
      專注于Winform開發框架/混合式開發框架、Web開發框架、Bootstrap開發框架、微信門戶開發框架的研究及應用。
        轉載請注明出處:
      撰寫人:伍華聰  http://www.iqidi.com 
          

      相關教程
      江苏快3 www.4766kk.com | hy846.com | www.pp55826.com | ylpp234.com | x33.vip | www.55676c.com | q888.com | 3644k.com | www.50732d.com | www.72tk.com | nn500c.com | vip1449.com | www.5522t.cc | www.50999c.com | 4774u.com | sxkcl.net | www.096wy.com | www.0057g.com | b3644.com | 45460006.com | www.399046.com | www.69989e.com | www.h7788o.com | 67888c.cc | www.341077.com | www.52062x.com | www.kelake77.com | 56988z.vip | long7988.com | www.160912.com | www.3a002.com | www.8517444.com | 35bb.vip | 54443b.com | www.718322.com | www.xpjylc008.com | www.9679700.com | 3566xx.com | 97618p.com | www.3478z.cc | www.07679p.com | www.amdc0088.com | 5004jj.com | 8449uu.com | www.529121.com | www.v904488.com | www.15048u.com | 3222x.cc | 4912d.com | www.500103.com | www.997287.com | www.s | 1408m.com | so66666.cc | 61322244.com | www.550423.com | www.76520x.com | www.288988a.com | www.333133g.com | 90659.com | 78611.com | www.606642.com | www.9422c.com | www.009mgm.com | www.990960.com | 66681o.com | 2245.com | www.234259.com | www.98255.com | www.bet63l.com | www.hg128w.com | mgm3242.net | 67890ooo.com | 3950d.com | zl58.com | www.550431.com | www.535hc.com | www.aobo191.com | www.55c63.com | www.377606.com | www.129494.com | nn500m.com | 32555h.com | 44488p.com | www.67258a.com | www.99ckb.com | www.1764w.com | www.4963mm.com | www.449688.com | www.333133v.com | www.yh8005.com | JS1388n.com | 22772007.com | 700089v.com | 6197js.com | www.686244.com | www.u936.com | www.50054t.com | www.0601m.com | www.m7764.com | www.long86.net | www.40686e.com | www.j3577.com | 512534.com | 3435d.com | spj07.net | yyy5144.com | 78808z.com | 218.com | www.196050.com | www.849689.com | www.61497.com | www.54400z.com | www.vip3303.net | www.77181.com | www.79095l.com | www.881313.com | www.g948g.com | www.53532.com | www.hg6339.com | v9966.com | 66882007.com | 2554com.com | 2709d.com | ss00558.com | 08778q.com | 25288h.com | 78666u.com | 32355dd.com | 3552v.com | 55449193.com | 4060.com | 9679l.com | 13222i.com | 3416k.com | lll444000.com | 3640ee.com | 88903636.com | 28288y.com | 01234ll.com | hbs480.com | zb11.com | 3379s.com | 50000022.com | www.pu2678.com | www.pj5568.com | www.365699.com | www.xpj88003.com | www.683556.com | www.20199zz.com | www.jinying28.com | www.4963q.com | www.1559504.com | www.78680t.com | www.1779.com? | www.6482b.com | www.52072j.com | www.ya313.com | www.755213.com | www.645880.com | www.669773.com | www.68689o.com | 2222k15.com | yy67890.com | 550111g.com | x4255.com | 77332007.com | 8901x.com | www.68666p.com | www.7777wns.com | www.v58854.com | www.62kjw.com | www.85xpj.com | www.627072.com | www.877579.com | www.727563.com | www.33598j.com | www.yfa3.com | www.83033o.com | 115502.com | 36989f.com | 22117q.com | k10k120.com | www.362868.com | www.477518.com | www.9737yy.me | www.xj6001.com | www.7406.Co | www.911203.com | www.547677.com | 3379g.com | 4052n.com | 35442999.com | www.717xpj.com | www.vv2649.com | www.js968.com | www.45598s.com | www.97655p.com | www.hy9996.com | www.609715.com | 2019p.cc | 90307q.com | www.5009844.com | www.3709885.com | www.3066oo.com | www.9989577.com | www.c6129.com | yf5599.com | 82997.co | 3156fff.com | www.330099s.com | www.a81b.cc | www.7240w.com | www.31330.cc | www.095588.com | n2894.com | 71626.com | www.b3653.com | www.799666s.com | www.4483066.com | www.20899.com | www.387708.com | wns789.net | 55818u.com | www.yl66u.com | www.33111166.com | www.lczg4.com | 243d11.com | 925150.com | 67888.am | www.938q.cc | www.9533888.com | www.820155.com | 66445003.com | zhcp08.com | www.b868.com | www.7004.com | www.50024i.com | bbb67890.com | www.81866t.com | www.777794.com | www.792087.com | www.775020.com | 500000436.com | 7141yy.com | www.44508.com | www.66655.com | www.346077.com | jsgj55.com | 3482b.com | www.938.cc | www.51331c.com | 33115k.com | 4022ee.com | www.7025e.com | www.982935.com | www.837771.com | 67888e.cc | bb888bb888.com | www.hjdc48.com | www.91233q.com | kkk5682.com | 01885u.com | www.4412.com | www.50052j.com | amxsyl0.com | 908080d.com | www.20209.com | www.vn888123.cc | www.43131z.com | 346770.com | www.3775778.com | www.fg9907.com | 4066yy.com | 8538a.com | www.boma0111.com | www.hr1833.com | www.87668e.com | 2905.com | www.799666i.com | www.5441g.com | ss2649.com | www.999ldz.com | www.793351.com | www.320663.com | 8797.com | www.88msa.com | www.77803g.com | 28886508.com | 6830c.com | www.55060u.com | www.hy6936.com | 2566h7.com | www.hg8197.com | www.ya2019t.com | 0033p.cc | www.01a88.com | www.2848.com | 386kze.com | kk2205.com | www.s69096.com | www.703027.com | 3482x.com | www.0866.com | www.866509.com | 30019rr.com | www.900692.com | www.5647d.com | 4632233.com | www.85770p.com | www.7340111.com | 88894x.com | www.86611b.com | www.8905x.com | www.108067.com | 7989i.com | www.sha2299.com | www.178723.com | jjttj.com | www.w1432.com | 9539u.com | lp06.com | www.n063801.com | haolemen.cc | 6403n.com | www.78885.com | 20558866.com | www.2288068.com | www.50989h.com | 8520a.com | www.899866.com | www.5441u.com | jjj01234.com | www.249559.com | www.791651.com | 55331mm.com | www.7415t.com | w69441144.com | www.86611h.com | www.3a003.com | 7172244.com | www.vns4668.cc | www.qilc9.com | emb8578.com | www.8473l.com | 1005hh.com | www.38200d.com | www.80075l.com | 0715563.com | www.789msc.com | www.330875.com | 500000937.com | www.47506v.com | 2247rr.com | www.dzc67.com | www.qucw7.com | 8685050.com | www.91779i.com | 774km.com | www.365815d.com | www.73166f.com | 3640zz.com | www.88166h.com | www.81520a.com | www.vns388.com | www.26163x.com | 4018ss.com | www.4196h.com | 01234rr.com | www.yl66u.com | www.623660.com | 0022886.com | www.081234.com | bet555888.cc | www.4058gg.com | 33331.com | www.amdc0005.com | www.298396.com | www.ylg4444.com | www.26878r.com | 7893w51.com | www.97994d.com | aaa4165.com | www.79500x.com | cj807.com | www.vns88811.com | www.781253.com | hg1044.com | www.0600f.cc | ooo0022.com | www.2y929.com | 4639966.com | www.00829u.com | www.902776.com | 4116j.com | www.66509.cc | zhcp93.com | www.86267g.com | 55797i.com | www.8998885.com | 93922e.com | www.7036fh.com | 0644.com | www.12136p.com | 61999yy.com | www.6687e.com | 25250524.com | www.xyh6003.com | 444000xx.com | www.js89m.vip | 4775566.com | www.9170107.com | 9694c.com | www.10999c.com | betaa365.com | www.58404b.com | 12742a.com | www.1754a.com | 4646088.com | www.hhh2848.com | hbs480.com | www.97828b.vip | 4018nn.com | www.6939t.com | 65365.com | www.ejylc15.com | 8522eeee.com | www.71399b.com | 2767a.com | www.033.la | 1669v.com | www.769588.com | www.995n.net | 0054242.com | www.yao656.com | 2509qp.com | www.808888l.com | ppp1915.com | www.88325u.com | v4389.com | www.831666.com | 2643e.com | www.84gcw.com | www.28758j.com | www.818897.com | www.7025i.com | 8722rrrr.com | www.c51kk.vip | 93922u.com | www.3846d.com | 61329900.com | www.66ffb.com | www.25673f.com | www.018581.com | www.9409.com | 3202h.com | www.85656.com | 44oo8332.com | www.hx1164.com | www.995o.net | 5446v.com | www.00772r.com | 5219l.com | www.36166hh.com | 5833yl.com | www.287916.com | www.511838.com | 188qq888.com | www.954321a.com | w2894.com | www.533660.com | www.2221188.com | 1654zz.com | www.hjj11.com | 3245t.com | www.606645.com | www.484461.com | p005.com | www.jxcp16888.com | ylzz4444.com | 3315.com | www.10999j.com | hg886.com | www.flcb1.com | www.8884j.com | 55557.com | www.win1239.com | 5647oo.com | www.092603.com | www.qm999.com | 3467h.com | www.qilc0.com | www.3775799.com | 1389hh.com | www.dsj11.com | www.1333zx.com | feicai0792.com | www.6687u.com | 500000576.com | www.214654.com | www.hao500.com | am9649.com | www.726703.com | www.xj666g.com | 38365r.com | www.fyyy3.com | www.443447.com | 1458s.com | www.05gcw.com | www.402115.com | 063801.com | www.885pz.com | www.303408.com | 55717.com | www.930xj.com | www.xpj403.com | 444000s.com | www.hj7776.com | www.777800.cc | 3788h.com | www.738500.com | www.799666j.com | 8547y.com | www.354918.com | www.dsn88.net | 68963888.com | 98345.com | www.1434m.com | www.8124x.com | bwin68888.net | www.81520g.com | www.hy2266.com | 1147000.com | www.979738.com | www.928668.com | 307590.com | www.359215.com | www.695044.com | btt897.com | 8633001.com | www.77803y.com | www.69880.com | w69441122.com | www.848966.com | www.255723.com | xpj29977.com | 647468.com | www.50074b.com | www.tb970.com | 6261n.com | www.41518a.com | www.56011w.com | www.333133j.com | 9479d4.com | www.622105.com | www.4058i.com | www.4759tt.com | 4018vv.com | www.cp9829.com | www.58atv.com | 027651.com | hjdc100.com | www.60123l.com | www.21511x.com | jl55555.com | 4809w.com | www.26878z.com | www.2y925.com | 256777t.com | 4022w.com | www.33czt.com | www.n32939.com | www.y1311.com | 1483mm.com | www.95.la | www.4078i.com | www.28758y.com | 69441199.com | www.210613.com | www.1466x.com | www.js607.com | by309.com | 897tt.cc | www.qmkl3.com | www.9981331.com | www.389988.com | 3957q.com | 68228e.com | www.83033y.com | www.045890.com | cu28.com | 69444455.com | www.43818o.com | www.6653g.com | www.77731b.com | www.1869a.com | 99567e.com | www.233104.com | www.b79839.com | www.dy4488.com | www.3435333.com | 33318k.com | 09t55.com | www.50051vip.com | www.38138t.com | www.25288j.com | 00442007.com | 6600mmmm.com | www.368158.com | www.ej158.com | www.85857z.com | www.pjbeijing.com | 4955f.com | 8722iiii.com | www.889688.com | www.7681004.com | www.34311.com | www.z0888.com | 4018i.com | lll01234.com | www.662358.com | www.0194008.com | www.178659.com | www.ty662.com | 33318h.com | 6063331.com | www.083039.com | www.22630.cc | www.0622uuu.com | www.js408.com | www.7435t.com | 655661166.com | 2864y.com | www.106295.com | www.5854d.cc | www.0088hgaa.com | www.20199yy.com | www.xpj178.com | c51fal8.com | wz4008.com | 1483y.com | www.546868.com | www.52303r.com | www.62979w.com | www.021700.com | www.4972yy.com | 500000888.com | 5360cc.com | 7811i.com | www.xinyc2.com | www.626by.com | www.979303.com | www.47486.com | www.pj43.com | www.bet3652019.com | 55966.cc | 4261.com | 131uu.net | 0015tt.com | www.647977.com | www.50051j.com | www.9187a.com | www.rcw7777.com | www.pp8996.com | www.js40222.com | 77077a.com | 3222q.cc | 61326600.com | 66300vip08.com | www.641477.com | www.7782r.com | www.ribo80.cc | www.1559505.com | www.jxcp1111.com | www.msc51.com | www.hg3636.com | 7989w.com | 55323y.com | 402d2.com | 0234e.com | 4774d.com | www.152918.com | www.799481.com | www.5095i.com | www.bet5959.com | www.52062v.com | www.4996bj.com | www.58665w.com | www.js629.com | www.sands4455.com | www.1019993.com | 7bxyl.com | 2846n.com | wns950.com | 4488bbb.com | 0198800.com | 40014499.com | xpj66136.com | 9030n.com | 3544p.com | 8203ccc.com | www.095335.com | www.475711.com | www.716997.com | www.cb6888.com | www.686vv.com | www.25688m.com | www.88266f.com | www.0601f.com | www.456333.net | www.7350.vip | www.js89i.vip | www.xpjylc008.com | www.1559501.com | www.10999q.com | www.9b007.com | www.cp88168.xn | www.77731g.com | www.5966yyy.com | www.03tyc.com | www.7060.cabet186.com | www.999966.com | www.706sunbet.com | www.xpj1633.com | www.js466.com | www.hg55ff.com | www.bte33.com | www.ff13558.com | www.pj5757.com | www.k1577.com | www.5139sss.com | www.22235b.com | www.hg2020y.com | www.2998w.com | www.699a.cc | www.777567.com | www.004949.com | www.cc1916.com | www.138msc.com | www.370175.com | www.373351.com | www.hh55826.com | www.5209666.com | www.b35oo.com | www.yh67.net | www.ls22.vip | www.0343w.com | www.16065l.com | www.b991qp.com | www.39500q.com | www.686vv.com | www.926857.com | www.587944.com | www.775704.com | www.373170.com | www.43131o.com | 2013880.com | 8294m.com | o21148.com | 749101.com | 4590kk.com | 11663885.com | 230120.com | www.x32126.cc | www.05125d.com | www.xpj269.com | www.799666q.com | www.5981y.com | www.r999996.com | www.4331u.com | www.15355t.com | www.c7268.com | www.472255.com | 19880t.com | 78119966.com | sbo333.com | 2998j.com | jinlong12.com | www.pjanhui.com | www.0860j.com | www.632042.com | www.333777j.com | www.66mgm777.com | www.flb909.com | www.54400k.com | www.cb3188.com | www.187396.com | 7874.tt | y5429.com | e3405.com | 59889y.com | www.aa444.vip | www.331445.com | www.jz5777.com | www.52062g.com | www.50080s.com | www.771746.com | hd49499.com | 59599l.com | kk01234.com | a3144.com | www.222380.com | www.8058n.com | www.33112211.com | www.hg355.com | www.627012.com | www.33588a.com | 55966.com | 82365b.com | btt897.com | www.41685.com | www.8499.com | www.55717g.com | www.ya278.com | www.018916.com | 463d7.com | 9068yy.com | www.033033j.com | www.184589.com | www.969306.com | www.288963.com | www.818827.com | 5003qq.com | jx2300.com | 23800j.com | www.191949.com | www.4078e.com | www.1855ff.com | www.599831.com | 1434l.com | so777.cc | www.js003.cc | www.hwx518.com | www.pj55716.com | www.w697.com | 4488622.com | 10524.com | 5002ee.com | www.9411.am | www.279050.com | www.21202m.com | www.035989.com | bwin8l.com | 0747t.com | www.hg5801.com | www.115207.com | www.55885g.com | www.030953.com | 876q.com | 33313e.com | www.3444hg.com | www.087o.com | www.763117.com | 2828394.com | zz00558.com | www.66930011.com | www.4058dd.com | www.2875j.com | www.096386.com | 50099q.com | 1483ww.com | www.41hd.com | www.624201.com | www.233104.com | 793929.com | www.dz578.com | www.88xxcp.com | www.71399s.com | hd61788.com | 9068r.com | www.t30226.com | www.a1432.com | www.qucw2.com | mm5144.com | 3078u.com | www.220122a.com | www.971406.com | www.338071.com | 23300c.com | www.tyc8808.com | www.673888u.com | www.okw2.com | biying920vip.com | le888a.com | www.a7817.vip | www.77803w.com | 28hg.net | 3522hh.com | www.hg8169.com | www.hb598.net | 5651z.com | 6146j.com | www.01678cp.com | www.7681004.com | www.177478.com | 4025y.com | www.sbet567.net | www.44118i.com | www.505504.com | lll444000.com | www.7025a.com | www.8905d.com | www.369965.com | 55555ylg.com | www.537msc.com | www.984705.com | www.33588e.com | 2078c.com | www.309993.com | www.550021p.com | 77778940.com | 8827zz.com | www.671451.com | www.hm5333.com | 50067l.com | www.pjbet888.com | www.9464.com | www.137916.com | bwin8m.com | www.792777.com | www.26299p.com | 3304mm.com | www.hg0377.com | www.556537.com | www.193723.com | a757011.com | www.521138.com | www.2350s.com | 3679cc.com | www.39695j.com | www.6787758.com | lswjs568.com | ub66.com | www.mgm555555.com | www.412228.com | 4255aaa.com | www.p86.com | www.hx6694.com | 69443322.com | www.blrggb01.com | www.66376x.com | 61652m.com | www.h7788x.com | www.5856873.com | 36401111.com | www.1115xj.com | www.86339u.com | 1706766.com | P35v.com | www.40288z.com | 79889x.com | vnsr99888.com | www.4521m.com | 80368gg.com | 7141oo.com | www.47506b.com | 23233v.com | 5005u.com | www.58908c.com | ylg5888.com | 3424d.com | www.56011x.com | 7779964.com | www.xpj6666.cc | www.hg36799.com | 7811xx.com | www.54549900.com | www.22062d.com | 4037.com | www.7045d.com | www.8039c.com | vns8351.com | www.mgdc46.com | www.781217.com | v1778.com | www.4078d.com | sbfa66.com | 58802r.com | www.97828l.vip | 50024499.com | www.06797r.com | www.5854n.cc | h4042.com | www.c1724.com | www.263289.com | 883399n.com | www.1112yl.com | 7249g.com | www.5559193.com | www.888hy.cc | 7003kk.com | www.k32939.com | 4hg7788.com | www.7435v.com | www.71233hh.com | 47727.net | www.y4042.com | www.338051.com | cc99151.com | www.1466c.com | 34p35.com | www.hg7211h.com | www.584311.com | 26444j.com | www.7240k.com | a82365.com | www.4632.com | www.371957.com | hjdc567.com | www.4988b.cc | c388e.com | www.jjjj008.com | www.031079.com | www.hg8988.com | www.80065m.com | 39199k.com | www.4078f.com | 500c.vip | www.44889u.com | www.689631.com | ambjl03.com | www.3404.cc | 773838.com | www.hga66600.com | 0938mv.com | www.9785333.com | www.732400.com | 123456pp.cc | www.16065b.com | 99914.com | www.cn365c.com | 1356.com | www.5045678.com | www.126059.com | www.353599.com | www.12czj.com | xpj6001.com | www.13434b.com | 4488h.com | www.35252c.com | 2643m.com | www.jjjj009.com | 98955i.com | www.335949.com | www.534457.com | www.7435z.com | www.21czj.com | 2190t.com | www.98528g.com | 655661166.com | www.14341434.com | 65560066.com | www.4996sp.com | 20772233.com | www.2805.com | vbet.io | www.fc924.com | 6446zz.com | www.5860r.com | www.61233u.com | www.v15594.com | www.388453.com | www.xpj2018.com | www.818807.com | www.pj2666.com | www.c7268.com | hgw168.com | www.09gcw.com | 99835.com | www.2109b.com | 2381g.com | www.2934w.com | 2506i.com | www.3890c.com | js44888.com | www.9155h.cc | 3245444.com | www.022xj.cc | thrlvxzt.cn | www.qilc8.com |