你们想要的短信对接,要舍得点钱哦。。。。

/// <summary>
    /// http://sms.webchinese.cn/api.shtml
    /// </summary>
    public class SMSWebChineseApi
    {
        private string SMS_UID = string.Empty; //用户名
        private string SMS_KEY = string.Empty; //接口秘钥

private Dictionary<string, string> dcReurnKeyValue = new Dictionary<string, string>()
        {
        {"-1","没有该用户账户"},
        {"-2","接口密钥不正确,不是账户登陆密码"},
        {"-21","MD5接口密钥加密不正确"},
        {"-3","短信数量不足"},
        {"-11","该用户被禁用"},
        {"-14","短信内容出现非法字符"},
        {"-4","手机号格式不正确"},
        {"-41","手机号码为空"},
        {"-42","短信内容为空"},
        {"-51","短信签名格式不正确,接口签名格式为:【签名内容】"},
        {"-6","IP限制"},
        {"大于0","短信发送数量:"}
        };

/// <summary>
        /// 返回UTF-8编码发送接口地址
        /// </summary>
        /// <param name="receivePhoneNumber">目的手机号码(多个手机号请用半角逗号隔开)</param>
        /// <param name="receiveSms">短信内容,最多支持400个字,普通短信70个字/条,长短信64个字/条计费</param>
        /// <returns>返回UTF-8编码发送接口地址</returns>
        public string GetPostUrl(string receivePhoneNumber, string receiveSms)
        {
            return "http://utf8.sms.webchinese.cn/?Uid=" + SMS_UID + "&key=" + SMS_KEY + "&smsMob=" + receivePhoneNumber + "&smsText=" + receiveSms;
        }

/// <summary>
        /// 调用时只需要把拼成的URL传给该函数即可。判断返回值即可
        /// </summary>
        /// <param name="receivePhoneNumber">目的手机号码(多个手机号请用半角逗号隔开)</param>
        /// <param name="receiveSms">短信内容,最多支持400个字,普通短信70个字/条,长短信64个字/条计费</param>
        /// <returns></returns>
        public string SendWebChineseSmsInfo(string receivePhoneNumber, string receiveSms)
        {
            string postUrl = GetPostUrl(receivePhoneNumber, receiveSms);
            string strReturnMsg = string.Empty;
            if (string.IsNullOrEmpty(postUrl))
            {
                return strReturnMsg;
            }
            string targeturl = postUrl.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);
                strReturnMsg = ser.ReadToEnd();
            }
            catch
            {
                strReturnMsg = null;
            }
            if (string.IsNullOrEmpty(strReturnMsg))
            {
                return string.Empty;
            }
            if (dcReurnKeyValue.Keys.Contains(strReturnMsg))
            {
                return dcReurnKeyValue[strReturnMsg];
            }
            else
            {
                return dcReurnKeyValue["大于0"] + strReturnMsg;
            }
        }
    }

最新文章

  1. 排序之----插入排序(C#实现)
  2. NUC_HomeWork1 -- POJ2067(最短路)
  3. Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解
  4. 微软分布式框架Orleans开源了
  5. javax/faces/webapp/FacesServlet
  6. rsync 安装与配置
  7. 如何使用Paste.Deploy
  8. 远程推送,集成极光的SDK,证书制造
  9. 开箱即用 - Memcache
  10. ubuntu文件目录详细介绍
  11. 【Codeforces 851D Arpa and a list of numbers】
  12. EXT JS认识EXTJS,第一个EXTJS例子
  13. 微信小程序--页面的生命周期和参数传递
  14. 单源最短路径算法——Dijkstra算法(迪杰斯特拉算法)
  15. MySQL备份恢复工具Xtrabackup
  16. python 之 运算符
  17. bootstrapTable 学习使用
  18. 使用git或TortoiseGit推送项目至gitlab
  19. Ubuntu18.04 + cuda9.0+cudnn7.0
  20. VB 共享软件防破解设计技术初探(一)

热门文章

  1. bundle 的生成和使用
  2. latex常用技巧
  3. .net core 如何正确的读取body中的内容
  4. PYTHON5000:CMOS图象传感器演示
  5. Linux搭建rsync服务
  6. java中小数点位数
  7. php使用phpqrcode生成二维码
  8. 在Docker中跑Hadoop与镜像制作
  9. 如何优雅地关闭worker进程?
  10. 轻松玩转windows之redis实战