using System;
          using System.IO;
          using System.Net;
          using System.Security.Cryptography;
          using System.Text;
          using System.Web;

          namespace Report
          {
              /// <summary>
              /// 結構名:PESMS
              /// 編  寫:張遠強
              /// 版  本:1.0.0
              /// 日  期:2009-12-22
              /// 描  述:動易短信通接口參數
              /// </summary>
              public struct PESMS
              {
                  public string URL;
                  public string Key;
                  public string ID;
                  public string UserName;
                  public string SendNum;
                  public string Content;
                  public string SendTiming;
                  public string SendTime;
                  public string MD5String;
                  public string Reserve;
              }

              /// <summary>
              /// 類 名:SendSMS
              /// 編  寫:張遠強
              /// 版  本:1.0.0
              /// 日  期:2009-12-21
              /// 描  述:短信發送類
              /// </summary>
              public static class SendSMS
              {
                  public static string Send(string sendNum, string content)
                  {
                      /*** 參數配置 ***/
                      PESMS pesms = new PESMS();
                      pesms.URL = "http://sms.powereasy.net/MessageGate/Message.aspx";
                      pesms.Key = "";//需修改,MD5私鑰,短信通平臺設置獲取
                      pesms.ID = DateTime.Now.ToString("yyyyMMddHHmmss");
                      pesms.UserName = "";//需修改,短信通平臺用戶名
                      pesms.SendNum = sendNum;
                      pesms.Content = content;
                      pesms.SendTiming = "0";
                      pesms.SendTime = DateTime.Now.ToString();
                      pesms.Reserve = "";
                      pesms.MD5String = MD5(pesms.ID + pesms.UserName + pesms.Key + pesms.SendNum + pesms.Content + pesms.SendTiming + pesms.SendTime);

                      /*** 短信發送 ***/
                      try
                      {
                          //編碼方式
                          Encoding gb2312 = Encoding.GetEncoding("gb2312");

                          //接口地址
                          string sendURL = string.Format("{0}?ID={1}&UserName={2}&SendNum={3}&Content={4}&SendTiming={5}&SendTime={6}&MD5String={7}&Reserve={8}", pesms.URL, pesms.ID, pesms.UserName, pesms.SendNum, HttpUtility.UrlEncode(pesms.Content, gb2312), pesms.SendTiming, pesms.SendTime, pesms.MD5String, HttpUtility.UrlEncode(pesms.Reserve, gb2312));

                          //請求
                          WebRequest Request = WebRequest.Create(sendURL);
                          Request.ContentType = "application/x-www-form-urlencoded";
                          Request.Method = "GET";

                          //響應
                          WebResponse Response = Request.GetResponse();
                          using (StreamReader Reader = new StreamReader(Response.GetResponseStream(), gb2312))
                          {
                              string message = Reader.ReadToEnd();

                              if (message.IndexOf("短信已經提交到發送隊列") != -1)
                                  return "1|" + message + "|" + sendURL;
                              else
                                  return "0|" + message + "|" + sendURL;
                          }
                      }
                      catch(Exception ex)
                      {
                          return "0|" + ex.Message;
                      }
                  }

                  /// <summary>
                  /// MD5加密(兼容ASP)
                  /// </summary>
                  /// <param name="input"></param>
                  /// <returns></returns>
                  private static string MD5(string str)
                  {
                      MD5 md5 = new MD5CryptoServiceProvider();
                      byte[] t = md5.ComputeHash(Encoding.GetEncoding("gb2312").GetBytes(str));
                      StringBuilder sb = new StringBuilder(32);
                      for (int i = 0; i < t.Length; i++)
                      {
                          sb.Append(t[i].ToString("x").PadLeft(2, '0'));
                      }
                      return sb.ToString();
                  }

              }
          }
          posted on 2010-10-18 22:15 sanmao 閱讀(279) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 博爱县| 浦城县| 故城县| 邵阳县| 镇赉县| 苏尼特左旗| 南安市| 青河县| 社会| 周宁县| 丹凤县| 邯郸市| 西丰县| 东至县| 罗甸县| 越西县| 阳城县| 鄂托克旗| 于都县| 十堰市| 广丰县| 德安县| 肃宁县| 峨边| 探索| 夹江县| 西充县| 乳山市| 连山| 北海市| 阿荣旗| 屏边| 旺苍县| 长宁区| 阿坝县| 嵊泗县| 墨竹工卡县| 读书| 河津市| 淮南市| 监利县|