C#調用SMS簡訊介面,輕鬆搞定傳送簡訊的任務。。。。

來源:互聯網
上載者:User

標籤:rgs   .com   key   getname   throw   方法   格式   amp   console   

    首先我們需要去這裡http://sms.webchinese.cn/申請一個帳號和簡訊介面秘鑰,在該網址下有許多語言的demo介紹,下面我主要為大家貼一個C#中的Helper類:

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Security.Cryptography;using System.Text;using System.Net;using System.IO;namespace StudyProgram.LeiKu{    public class MessageHelper    {        private string url = @"http://utf8.api.smschinese.cn/";        private string userid = "";        private string key = "";//秘鑰        private string smsMob;        private string smsText;        /// <summary>        /// 帶參建構函式        /// </summary>        /// <param name="isMD5">是否需要MD5加密</param>        /// <param name="userid">申請的使用者名稱</param>        /// <param name="key">申請的秘鑰</param>        /// <param name="mob">發送的手機(多個需要以‘,‘串連)</param>        /// <param name="text">資訊內容(注意簽名格式【XX網】)</param>        public MessageHelper(bool isMD5, string userid, string key, string mob, string text)        {            this.userid = "/?Uid=" + userid;            this.key = isMD5 ? "&KeyMD5=" + GetMD5Str(key) : "&Key=" + key;            this.smsMob = "&smsMob=" + mob;            this.smsText = "&smsText=" + text;        }        //MD5加密        private string GetMD5Str(string str)        {            MD5 md5 = new MD5CryptoServiceProvider();            StringBuilder sbStr = new StringBuilder();            byte[] buffer = Encoding.Default.GetBytes(str);            byte[] dataBuff = md5.ComputeHash(buffer);//計算指定字元數組的雜湊值            foreach (byte d in dataBuff)                sbStr.Append(d.ToString("x2"));            return (sbStr + "").ToUpper();        }        private string GetResponse()        {            var targetUrl = url + userid + key + smsMob + smsText;            var res = "";            try            {                HttpWebRequest hr = (HttpWebRequest)WebRequest.Create(targetUrl);                hr.Method = "GET";                hr.Timeout = 30 * 60 * 1000;//30分鐘逾時                WebResponse hs = hr.GetResponse();                Stream sr = hs.GetResponseStream();                StreamReader ser = new StreamReader(sr, Encoding.Default);                res = ser.ReadToEnd();            }            catch (Exception ex)            {                res = ex.Message;                throw ex;            }            return res;        }        private enum Result        {            沒有該使用者賬戶 = -1,            介面密鑰不正確 = -2,            MD5介面祕密金鑰加密不正確 = -21,            簡訊數量不足 = -3,            該使用者被禁用 = -11,            簡訊內容出現非法字元 = -14,            手機號格式不正確 = -4,            手機號碼為空白 = -41,            簡訊內容為空白 = -42,            簡訊簽名格式不正確 = -51,            IP限制 = -6        }        public string GetSendStr()        {            var res = "";            var response = GetResponse();            if (response != "")            {                int temp;                if (Int32.TryParse(response, out temp))                {                    if (temp > 0)                        res = string.Format("{0}條資訊發送成功", temp);                    else                        res = Enum.GetName(typeof(Result), temp);                                    }                else res = "發送失敗:" + response;            }            else res = "發送失敗";            return res;        }           }}

調用方法:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ShortMessage{    class Program    {        static void Main(string[] args)        {            StudyProgram.LeiKu.MessageHelper msh = new StudyProgram.LeiKu.MessageHelper(true, "申請使用者名稱", "申請的秘鑰", "1234567890", "驗證碼:無敵 【華哥】");            var res = msh.GetSendStr();            Console.WriteLine(res);            Console.ReadLine();        }    }}

 

C#調用SMS簡訊介面,輕鬆搞定傳送簡訊的任務。。。。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.