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)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 土默特左旗| 昭平县| 阳原县| 桐柏县| 大足县| 香格里拉县| 武定县| 商水县| 如东县| 达孜县| 南安市| 镇原县| 南汇区| 泸水县| 玉门市| 正镶白旗| 海盐县| 泗水县| 昭觉县| 浪卡子县| 霍林郭勒市| 岑巩县| 隆子县| 大姚县| 申扎县| 梓潼县| 留坝县| 台北县| 雷山县| 安阳县| 鄂托克前旗| 镇平县| 乌拉特中旗| 高淳县| 永昌县| 盖州市| 宜昌市| 美姑县| 兴和县| 柘荣县| 石屏县|