asp.net两种方式的短信接口使用(提供接口的都是收费的)

一种是http请求的方式,另一种就是提供WebService接口供调用的。

        #region sms.webchinese.cn 发送短信
        //服务商 sms.webchinese.cn
        //sms_url="http://sms.webchinese.cn/web_api/?Uid=账号&Key=接口密钥&smsMob=手机号码&smsText=短信内容"
        /// <summary>
        /// 发送短信接口sms.webchinese.cn
        /// </summary>
        /// <param name="mobilenumber">手机号,多个号码用‘,’分开</param>
        /// <param name="message">信息内容</param>
        /// <returns>
        /// 返回值情况如下
        /// -1	没有该用户账户
        ///-2	密钥不正确 [查看密钥]
        ///-3	短信数量不足
        ///-11	该用户被禁用
        ///-14	短信内容出现非法字符
        ///-4	手机号格式不正确
        ///-41	手机号码为空
        ///-42	短信内容为空
        ///大于0	短信发送数量
        /// </returns>
        public int SendMSG(string mobilenumber, string message)
        {
            //发送短信请求的地址
            string url = string.Format("http://sms.webchinese.cn/web_api/?Uid=账号&Key=接口密钥&smsMob={0}&smsText={1}", mobilenumber, message);
            string strRet = null;
            url = HttpUtility.UrlEncode(url);//urlencode
            if (url == null || url.Trim().ToString() == "")
            {
                return 0;
            }
            try
            {
                HttpWebRequest hr = (HttpWebRequest)WebRequest.Create(url);
                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)
            {
                strRet = null;
            }
            if (strRet == null || strRet == "") return 0;
            return Convert.ToInt32(strRet);
        }
        #endregion

        #region www.56dxw.com 发送短信
        //添加服务引用  http://jiekou.56dxw.com/WebServiceInterface.asmx
        //输入命名空间:MobileMessage_56
        private MobileMessage_56.WebServiceInterfaceSoapClient _ws_56 = null;
        /// <summary>
        /// www.56dxw.com短信接口服务
        /// </summary>
        public MobileMessage_56.WebServiceInterfaceSoapClient ws_56
        {
            get
            {
                if (_ws_56 == null) _ws_56 = new MobileMessage_56.WebServiceInterfaceSoapClient();
                return _ws_56;
            }
        }
        private string username_56 = "test";//网站的用户名
        private string password_56 = "test";//网站的登陆密码
        private string cid_56 = "";//企业id
        /// <summary>
        /// 发送短信接口函数 www.56dxw.com
        /// </summary>
        /// <param name="mobilenumber">手机号英文半角逗号隔开,一次1000个以内</param>
        /// <param name="message">信息内容</param>
        /// <returns>
        /// -1	用户名密码不正确
        ///-2	内容不能大于70个字
        ///-3	验证此平台是否存在
        ///-4	提交号码不能为空或客户余额为0
        ///-5	客户剩余条数不够要发送的短信数量
        ///-6	非法短信内容
        ///-7	返回系统故障
        ///-8	网络性错误,请稍后再试
        ///1	代表发送成功
        /// </returns>
        public int SendMSG_56(string mobilenumber, string message)
        {
            string sendtime = "";//格式:"2010-1-27 11:10:20"---发送时间,为空则立即发送
            string smsnumber = "";//平台
            return ws_56.SendNote(mobilenumber, message, username_56, password_56, cid_56, sendtime, smsnumber);
        }

        /// <summary>
        /// 查询剩余短信条数
        /// </summary>
        /// <returns>
        /// -1	代表用户名密码不正确
        /// 其它值	代表返回具体条数
        /// </returns>
        public int ReturnUserFullMoney_56()
        {
            return ws_56.ReturnUserFullMoney(username_56, password_56, cid_56);
        }
        /// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="oldpwd">旧密码</param>
        /// <param name="newpwd">新密码</param>
        /// <returns>
        /// 1	代表密码修改成功
        /// -1	代表密码编辑失败
        /// -2	用户名密码错误
        /// </returns>
        public int EditUserPwd(string oldpwd,string newpwd)
        {
            return ws_56.EditUserPwd(username_56, oldpwd, newpwd, cid_56);
        }

        #endregion

上面就是一般的调用服务的方法。。。

时间: 2024-09-09 20:45:02

asp.net两种方式的短信接口使用(提供接口的都是收费的)的相关文章

java实现多线程的两种方式继承Thread类和实现Runnable接口的方法_java

实现方式和继承方式有什么区别呢? *区别: *继承Thread:线程代码存放在Thread子类run方法中 *实现Runnable:线程代码存放在接口的子类的run方法中 *实现方式的好处:避免了单继承的局限性 *在定义线程时,建议使用实现方式,当然如果一个类没有继承父类,那么也可以通过继承Thread类来实现多线程 *注意:Runnable接口没有抛出异常,那么实现它的类只能是try-catch不能throws *Java对多线程的安全问题提供了专业的解决方式就是同步代码块synchroniz

ASP中存储过程调用的两种方式及比较

比较|存储过程|存储过程 beerfroth(原作) 本人用sql server 和asp写了一个简单的留言本,在不断的尝试中发现,分页显示留言的时候,不同的执行方式,时间上的一些差别. 下面通过对比来看看几种方式的用时对比. 一,使用存储过程分页,这种情况又分为两种方式: 第一种,使用command对象,如下: Set Cmd=server.CreateObject("Adodb.Command")Cmd.ActiveConnection=connCmd.CommandText=&q

ASP中存储过程调用的两种方式,以及不采用存储过程的方式比较

比较|存储过程 本人用sql server 和asp写了一个简单的留言本,在不断的尝试中发现,分页显示留言的时候,不同的执行方式,时间上的一些差别. 下面通过对比来看看几种方式的用时对比. 一,使用存储过程分页,这种情况又分为两种方式: 第一种,使用command对象,如下: Set Cmd=server.CreateObject("Adodb.Command")Cmd.ActiveConnection=connCmd.CommandText="ycuu_gb_getmsg&

求asp.net城市切换思路,两种方式

问题描述 求asp.net城市切换思路,两种方式 我现在要做一个城市切换,第一次直接根据IP跳转,第二次可以任意切换到任何城市,请问怎么写啊! 解决方案 .net 遍历Dictionary两种方式asp.net 两种会话数据方式 解决方案二: 点击手动设置的城市的时候用cookie记录住点击的城市,页面dom ready事件中从cookie中读取城市,没有就从ip定位,否则加载cookie中城市的数据

ASP.NET Razor模板引擎中输出Html的两种方式_实用技巧

本文实例讲述了ASP.NET Razor模板引擎中输出Html的两种方式.分享给大家供大家参考,具体如下: Razor中所有的Html都会自动编码,这样就不需要我们手动去编码了(安全),但在需要输出Html时就是已经转义过的Html文本了,如下所示: @{ string thisTest = "<span style=\"color:#f00;\">qubernet</span>"; } @thisTest; 这样在页面输出的文本就是:<

ASP中生成文本文件的两种方式_ASP基础

ASP里两种常用的生成文件的方式是:利用ADODB.Stream生成文件和利用Scripting.FileSystemObject生成文件 1.Scripting.FileSystemObject生成文件方法:  复制代码 代码如下: <%  Set fso = CreateObject("Scripting.FileSystemObject")  File=Server.MapPath("要生成文件路径和文件名.htm")  Set txt=fso.Open

ASP中生成文本文件的两种方式

ASP里两种常用的生成文件的方式是:利用ADODB.Stream生成文件和利用Scripting.FileSystemObject生成文件 1.Scripting.FileSystemObject生成文件方法:  复制代码 代码如下:<%  Set fso = CreateObject("Scripting.FileSystemObject")  File=Server.MapPath("要生成文件路径和文件名.htm")  Set txt=fso.OpenT

分享ASP.NET用ThoughtWorks.QRCode和QrCode.Net生成二维码两种方式

最近做项目遇到生成二维码的问题,发现网上用的最多的是ThoughtWorks.QRCode和QrCode.Net两种方式.访问官网看着例子写了两个Demo,使用过程中发现两个都挺好用的,ThoughtWorks.QRCode的功能更多一些,但是dll文件有6兆,QrCode.Net只有400多K,大家根据自己的需要选择吧.附上代码仅供参考. ThoughtWorks.QRCode:  代码如下 复制代码 private void CreateQrcode(string nr) {     Bit

Log4Net日志记录的两种方式

log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具. log4net是Apache软件基金会Apache Logging Services工程的一部分.Apache日志服务工程致力于为程序调试和审计提供跨语言的日志服务.(f:百度百科) 原理 Log4net是基于.NET开发的一款记录日志开源组件.它通过一套XML配置的日志引擎,将日志分不同的等级,分别是:FATAL . ERROR.