asp.net两种方式的短信接口使用(提供接口的都是收费的)
一种是http请求的方式,另一种就是提供WebService接口供调用的。
- //服务商 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
asp.net两种方式的短信接口使用(提供接口的都是收费的)的更多相关文章
- Java实现线程的两种方式?Thread类实现了Runnable接口吗?
Thread类实现了Runnable接口吗? 我们看看源码中对与Thread类的部分声明 public class Thread implements Runnable { /* Make sure ...
- springboot 注册服务注册中心(zk)的两种方式
在使用springboot进行开发的过程中,我们经常需要处理这样的场景:在服务启动的时候,需要向服务注册中心(例如zk)注册服务状态,以便当服务状态改变的时候,可以故障摘除和负载均衡. 我遇到过两种注 ...
- Map集合的遍历方式以及TreeMap集合保存自定义对象实现比较的Comparable和Comparator两种方式
Map集合的特点 1.Map集合中保存的都是键值对,键和值是一一对应的 2.一个映射不能包含重复的值 3.每个键最多只能映射到一个值上 Map接口和Collection接口的不同 Map是双列集合的根 ...
- Android手机上监听短信的两种方式
Android手机上监听短信有两种方式: 1. 接受系统的短信广播,操作短信内容. 优点:操作方便,适合简单的短信应用. 缺点:来信会在状态栏显示通知信息. AndroidManifest.xml: ...
- android 发送短信的两种方式,以及接收报告和发送报告
android发送短信,以及接收报告和发送报告 android中发送短信其实有两种方式,这个和打电话类似,大家可以了解一下: 一.调起系统发短信功能 ...
- ASP.NET Web API接受AngualrJS的QueryString的两种方式
ASP.NET Web API如何接受来自AngualrJS的QueryString呢?本篇体验两种方式. 第一种方式:http://localhost:49705/api/products?sear ...
- Asp.net Web API 返回Json对象的两种方式
这两种方式都是以HttpResponseMessage的形式返回, 方式一:以字符串的形式 var content = new StringContent("{\"FileName ...
- ASP.NET 生成二维码(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
最近做项目遇到生成二维码的问题,发现网上用的最多的是ThoughtWorks.QRCode和QrCode.Net两种方式.访问官网看着例子写了两个Demo,使用过程中发现两个都挺好用的,Thought ...
- Asp.net MVC在Razor中输出Html的两种方式
http://qubernet.blog.163.com/blog/static/177947284201485104616368/ Razor中所有的Html都会自动编码,这样就不需要我们手动去编码 ...
随机推荐
- 51Nod 算法马拉松21(迎新年)
这次打算法马拉松是在星期五的晚上,发挥还算正常(废话,剩下的题都不会= =). 讲讲比赛经过吧. 8:00准时发题,拿到之后第一时间开始读. A配对,看上去像是二分图最大权匹配,一看范围吓傻了,先跳过 ...
- 《转载》使用org.w3c.dom.Element的setTextContent()、getTextContent()方法时出现编译错误
今天在更新项目后进行编译时,出现如下错误一堆: 编译错误 Google之,在stackoverflow上看到如下的解决方法: I came here with the same problem. Ev ...
- java基础高级2 MySQL 高级
1.数据库简介 DDL(数据定义语言) DML(数据操作语言) 2. 准备工作 解压缩文件目录下找到my.ini文件,文件中写入[mysql] default-character set= utf-8 ...
- web端小知识点--持续更新
1.弹性滚动overflow:auto; -webkit-overflow-scrolling: touch; -mo-overflow-scrolling: touch; overflow-scro ...
- WinForm跨窗体传值
1.另一窗体建公共变量listdataRow public List<DataGridViewRow> listdataRow = new List<DataGridViewRow& ...
- freemarker IllegalAccessError 错误
java.lang.IllegalAccessError: tried to access method freemarker.ext.servlet.AllHttpScopesHashModel.& ...
- Java笔记:关键字
关键字 描述 abstract 抽象方法,抽象类的修饰符 assert 断言条件是否满足 boolean 布尔数据类型 break 跳出循环或者label代码段 byte 8-bit 有符号数据类型 ...
- SQL SERVER中如何在声明游标的语句中,用变量做表名
-- 因为定义游标所用的表名是变量,所以采用EXEC(定义语句) 的方式来声明游标set @StrSql='DECLARE Ba_Cursor CURSOR FOR (SELECT a.PhoneId ...
- 【转】arm 开发工具比较(ADS vs RealviewMDK vs RVDS)
ADS REALVIEW MDK RVDS 公司 ARM Keil(后被ARM收购) ARM 版本 最新1.2 ,被RVDS取代 最新4.0 是否免费 破解情况 有 有 工程管理 CodeWarr ...
- TFS API:二、TFS 代码查询工作项
TFS API:二.TFS 代码查询工作项 首先我们需要认识TFS的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection, ...