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

/// <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;
            }
        }
    }

C#&.Net干货分享- 构造SMSWebChineseApi对接第三方短信平台的更多相关文章

  1. JAVA 调用第三方短信平台接口发送短信

    做了几个调用三方短信平台发送短信的例子,大部分需要 携带参数,向指定URL发送请求 回顾对接第一个平台时痛苦的乱码经历,这里放一份代码,算是个模版,再用到的时候过来copy一下就OK. 在进入主题之前 ...

  2. C#&.Net干货分享- 构造BaiduLanguageHelper对接百度的语言翻译

    全部是封装的API源码... namespace Frame.Api{    /// <summary>    /// 百度多语言支持器    /// </summary>   ...

  3. java对接短信平台

    短信验证码目前是比较主流验证身份的一种方式,下面分享下我对接的几种短信平台 阿里云短信:https://api.alidayu.com/docs/api.htm?spm=a3142.7395905.4 ...

  4. Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自己主动填入功能结合实例)

    用户注冊或者找回password时通常会用到短信验证功能.这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注冊用户.获取SD ...

  5. 分享使用tcb-router路由开发的云函数短信平台SDK

    上篇文章我们分享了如何使用纯的云函数开发的榛子短信短信(http://smsow.zhenzikj.com)SDK,由于微信对于未付费云函数个数的限制,这种方法存在缺陷,经过改进,使用tcb-rout ...

  6. php 对接java短信接口带有英文逗号就无法通过

    在对接短息接口时,对方是java接口,要求content两次编码 短信内容(Content)发起请求前必须进行URL转码.例如对于短信内容为“中文短信abc”,转码过程如下(java语言): Stri ...

  7. C#&.Net干货分享-构造QRCoderHelper生成二维码图片

    不想说废话,直接源码拿去用... /// <summary>    /// 二维码管理    /// </summary>    public class QRCoderHel ...

  8. Zabbix使用第三方API短信报警

    之前试过邮件告警,微信告警.但是,对于一些企业的重要业务服务器,可能是存放在隔离的内网中的,无法正常连接外网.这个时候,就有必要考虑一下使用短信告警.以下这个其实还是需要服务器能够连接到外网的,但是我 ...

  9. [android]ShareSDK——内容分享和短信验证

    前言 新版本号ShareSDK的分享和短信验证,按官网的文档,都须要加入一个<Activity></Activity>标签,而分享和短息验证的这个标签内容都一样.会冲突. 解决 ...

随机推荐

  1. 学习go语言第二天-变量、常量

    编写测试程序 源码文件以_test结尾;例如:xxx_test.go 测试方法名以Test开头;例如:func TestXXXXX(t *testing.T){} 实现斐波那且数列 package f ...

  2. 洛谷 题解 P1025 【数的划分】

    将n个小球放到k个盒子中的情况总数 = (a)至少有一个盒子只有一个小球的情况数 + (b)没有一个盒子只有一个小球的情况数 这样写出表达式: a.因为盒子不加区分,那么=情况数与"将n-1 ...

  3. .net core 在服务端限制文件下载速度(传输速度)

    public IActionResult GetFile() { MyFileStream readStream = new MyFileStream(@"XXX/A.XX", F ...

  4. Python3 文件处理

    目录 文件操作的流程 文件的三种打开模式 读取: rt read_text 针对文本内容只读 清空写入: wt write_text 针对文本内容只写 追加写入: at append_text 针对文 ...

  5. 【HTTP】267- HTTP 的15个常见知识点复习

    前言 自从入职新公司到现在,我们前端团队内部一直在做 ?每周一练 的知识复习计划,我之前整理了一个 [每周一练 之 数据结构与算法] (https://juejin.im/post/5ce2a20e6 ...

  6. Java mysql连接

    public List<String> getDBTable(String tableName) { List<String> columns = new ArrayList& ...

  7. linux,centos,php,word转图片方法

    刚开始的时候是客户的活儿,真的是没有想到,被这样一个方法给卡住了,真是醉了,经过漫长的一周,终于搞定了这个问题,以下就来给大家介绍以下这个方法把.能方便大家. (直接转换没办法,所以找了个折中的办法, ...

  8. 在 ASP.NET Core 中使用 FluentValidation 进行验证

    目录 从 NuGet 安装 FluentValidation 争对 Resource类 建立 FluentValidation 在Startup中对写好的验证进行注册 从 NuGet 安装 Fluen ...

  9. Caffe源码-Solver类

    Solver类简介 Net类中实现了网络的前向/反向计算和参数更新,而Solver类中则是对此进行进一步封装,包含可用于逐次训练网络的Step()函数,和用于求解网络的优化解的Solve()函数,同时 ...

  10. JAVA Socket API与LINUX Socket API探究

    代码 这是一个带有UI界面的JAVA网络聊天程序,使用Socket连接完成通信. JAVA服务端程序 import java.io.IOException; import java.io.InputS ...