C#實現發送短信功能

    爲了個人信息的安全,很多網站都有短信發送的功能,究竟是怎麼實現的呢?對於個人站長來說的話,通過使用sms短信通知api接口相對比較簡單,下面小編給大家介紹具體實現過程,對c#怎麼實現手機短信發送功能感興趣的朋友一起學習吧。

1. 從網上(http://sms.webchinese.cn/)申請賬號,記住用戶名,密碼會發到手機上,這僅是登陸密碼。註冊後會送5條短信、和3條彩信的發送量。

 

2.查看SMS短信通API下行接口(http://sms.webchinese.cn/api.shtml),然後獲取祕鑰,其實就是加密後的登錄密碼。開始敲代碼,相關代碼如下:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web;
namespace Y_PostSms
{
  public class YMethod
  {
    private string THE_UID = ""; //用戶名
    private string THE_KEY = ""; //接口祕鑰
    /// <summary>返回UTF-8編碼發送接口地址</summary>
    /// <param name="receivePhoneNumber">目的手機號碼(多個手機號請用半角逗號隔開)</param>
    /// <param name="receiveSms">短信內容,最多支持400個字,普通短信70個字/條,長短信64個字/條計費</param>
    /// <returns></returns>
    public string GetPostUrl(string smsMob, string smsText)
    {
      string postUrl = "http://utf8.sms.webchinese.cn/?Uid=" + THE_UID + "&key=" + THE_KEY + "&smsMob=" + smsMob + "&smsText=" + smsText;
      return postUrl;
    }
    /// <summary> 發送短信,得到返回值</summary>
    public string PostSmsInfo(string url)
    {
      //調用時只需要把拼成的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.Default);
        strRet = ser.ReadToEnd();
      }
      catch (Exception ex)
      {
        strRet = null;
      }
      return strRet;
    }
    /// <summary>確認返回信息 </summary>
    public string GetResult(string strRet)
    {
      int result = 0;
      try
      {
        result = int.Parse(strRet);
        switch (result)
        {
          case -1:
            strRet = "沒有該用戶賬戶";
            break;
          case -2:
            strRet = "接口密鑰不正確,不是賬戶登陸密碼";
            break;
          case -21:
            strRet = "MD5接口密鑰加密不正確";
            break;
          case -3:
            strRet = "短信數量不足";
            break;
          case -11:
            strRet = "該用戶被禁用";
            break;
          case -14:
            strRet = "短信內容出現非法字符";
            break;
          case -4:
            strRet = "手機號格式不正確";
            break;
          case -41:
            strRet = "手機號碼爲空";
            break;
          case -42:
            strRet = "短信內容爲空";
            break;
          case -51:
            strRet = "短信簽名格式不正確,接口簽名格式爲:【簽名內容】";
            break;
          case -6:
            strRet = "IP限制";
            break;
          default:
            strRet = "發送短信數量:" + result;
            break;
        }
      }
      catch (Exception ex)
      {
        strRet = ex.Message;
      }
      return strRet;
    }
  }
}

3. 找在線客服開通發送權限,填寫好籤名,效果圖如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章