http://blog.csdn.net/ldl22847/article/details/42553883

public   static string GetMobileConfByUserId(string userid)
          {
              string rs = null;
              if (!string.IsNullOrEmpty(userid))
              {
                  if (string.IsNullOrEmpty(strOnLine))
                  {
                      strOnLine = ConfigurationManager.AppSettings["OnLineUrl"];
                  }
                  ServicePointManager.DefaultConnectionLimit = 300;
                  System.GC.Collect();
                  CookieContainer cookieContainer = new CookieContainer();
                  // 设置提交的相关参数
                  HttpWebRequest request = null;
                  HttpWebResponse SendSMSResponse = null;
                  Stream dataStream = null;
                  StreamReader SendSMSResponseStream = null;
                  try
                  {
                      request = WebRequest.Create(strOnLine) as HttpWebRequest;
                      request.Method = "POST";
                      request.KeepAlive = false;
                      request.ServicePoint.ConnectionLimit = 300;
                      request.AllowAutoRedirect = true;
                      request.Timeout = 10000;
                      request.ReadWriteTimeout = 10000;
                      request.ContentType = "application/json";
                      request.Accept = "application/xml";
                      request.Headers.Add("X-Auth-Token",   HttpUtility.UrlEncode("openstack"));
                      string strContent =   "{\"appId\":\"\",\"method\":\"\",\"tokenId\":\"\",\"data\":{\"userAccountId\":\""   + userid +   "\"}}";            
                      byte[] bytes =   Encoding.UTF8.GetBytes(strContent);                                       
                      request.Proxy = null;
                      request.CookieContainer = cookieContainer;
                      using (dataStream = request.GetRequestStream())
                      {
                          dataStream.Write(bytes, 0, bytes.Length);
                      }          
                      SendSMSResponse = (HttpWebResponse)request.GetResponse();
                      if (SendSMSResponse.StatusCode == HttpStatusCode.RequestTimeout)
                      {
                          if (SendSMSResponse != null)
                          {
                              SendSMSResponse.Close();
                              SendSMSResponse = null;
                          }
                          if (request != null)
                          {
                              request.Abort();
                          }
                          return null;
                      }
                      SendSMSResponseStream = new StreamReader(SendSMSResponse.GetResponseStream(),   Encoding.GetEncoding("utf-8"));
                      string strRespone = SendSMSResponseStream.ReadToEnd();
                   
                      return strRespone;
                  }
                  catch (Exception ex)
                  {
                  
                      if (dataStream != null)
                      {
                          dataStream.Close();
                          dataStream.Dispose();
                          dataStream = null;
                      }
                      if (SendSMSResponseStream != null)
                      {
                          SendSMSResponseStream.Close();
                          SendSMSResponseStream.Dispose();
                          SendSMSResponseStream = null;
                      }
                      if (SendSMSResponse != null)
                      {
                          SendSMSResponse.Close();
                          SendSMSResponse = null;
                      }
                      if (request != null)
                      {
                          request.Abort();
                      }
                  }
                  finally
                  {
                      if (dataStream != null)
                      {
                          dataStream.Close();
                          dataStream.Dispose();
                          dataStream = null;
                      }
                      if (SendSMSResponseStream != null)
                      {
                          SendSMSResponseStream.Close();
                          SendSMSResponseStream.Dispose();
                          SendSMSResponseStream = null;
                      }
                      if (SendSMSResponse != null)
                      {
                          SendSMSResponse.Close();
                          SendSMSResponse = null;
                      }
                      if (request != null)
                      {
                          request.Abort();
                      }
                  }
              }
              return rs;
          }

http://www.lanzsoft.cn/Product/cp1/dxapi/

短信API文档

一.短信接口文档说明

1、概述:

本文档详细描述了商务短信快车短信接口接入办法及注意事项,接口发送短信的三网合一代码为10690422,支持全国范围内三网短信收发,短信API调用简单,欢迎免费注册短信接口帐号体验。

2、重点注意事项:

1 地址:www.lanz.net.cn域名对应的IP地址是219.136.252.188
2 登录:密码需加密传输(加密方式 SHA1 40位大写)。加密转换工具:点击进行转换操作
3 短信内容:自助获取测试帐号的用户短信内容需按照专用模板进行编辑,点击查看模板说明
4 发送频率:建议间隔0.1秒提交一次,群发一次最多提交1000个手机号码。另我司短信系统启用了同一个手机发送频率限制,第一条发送后,2秒后才能发第2条,第3条10分钟后才能发,隔2秒后才能发第4条,以此类推(默认一天最多发10条,特殊情况可联系技术放开限制)。
5 编码:数据提交统一使用 GB2312编码,Content参数需要注意编码规则,部分开发语言需做URLENCODE编码,详细参见代码示例。密码加密和编码转换工具:点击进行转换操作
6 安全防护:对于发送短信验证码类的用户(验证码、密码、注册等行为的短信),需要加强安全管理。建议采用以下三个防范措施:A、采用安全图片验证码;B、单IP请求次数限制;C、发送时间间隔限制。

二.短信接口功能

    • 短信发送
    • 回复短信
    • 查询余量
    • 语音发送
    • 推送模式
    • 错误代码
 
 
  • 发送短信 DirectSendSMSs(群发一次最多1000个手机号码)
    URL:http://www.lanz.net.cn/LANZGateway/DirectSendSMSs.asp
    1)输入参数:
    名称 类型 是否必须 示例值 描述
    UserID String 999999 用户ID (6位纯数字)
    Account String LanzSoft88 用户名
    PassWord String Lanz2016FG 密码(密码需加密传输 SHA1 40位大写)
    Content String 您的注册验证码为8268,该验证码10分钟内有效。 如非本人操作请忽略此短信!【浪驰软件】 短信按照70个字数计费为一条短信,但当短信内容大于70字时,即为长短信长短信计费按66个字数计费为一条短信,最长不超过300字
    Phones String 15322063938 手机号码,用“;”(分号)分隔,最后一个不带“;”(分号)
    PostFixNum int 1234 扩展号码。必须是数字,如无需扩展此处为空即可(注:首先在不扩展的情况下测试看看手机收到的106号码的是多少位,如果是20位了这里扩展没用,工信部标准最大长度是20位。PostFixNum = 20 -(在不扩展的情况 手机收到的号码长度)
    SendDate String 2016-1-1 定时发送的日期,立即发送可以不输入或者为空
    SendTime String 15:00:00 定时发送的时间,立即发送可以不输入或者为空
    ReturnXJ int 1 返回值格式 默认XML格式 如果需要JSON格式 该值填写 “1”
           
    2)举例:
    http://www.lanz.net.cn/LANZGateway/DirectSendSMSs.asp?UserID=993965&Account=admin&Password=555555&Content=test&Phones=1111111111
     
    3)返回值:
    ErrorNum 0:短信成功, 其它:详见错误代码说明
    JobID 分配的短信任务号
    PhonesSend 服务器接收的有效手机号码数量
    ErrPhones 服务器拒绝的短信,用”;”分隔
    DeductionSMSs 扣费条数
     
    XML:
    <?xml version="1.0" encoding="GB2312"?> <LANZ_ROOT> <ErrorNum>0</ErrorNum> <JobID>2321313130</JobID> <PhonesSend>98</PhonesSend> <ErrPhones>13855556666;13611112222</ErrPhones> <DeductionSMSs>1000</DeductionSMSs> </LANZ_ROOT>
     
    JSON:
    {"LANZ_ROOT":{"ErrorNum":"0","JobID":"2321313130","PhonesSend":"98","ErrPhones":"13855556666;13611112222","DeductionSMSs":"1000"}}
     

发送SMS短信(JSON) 转载的更多相关文章

  1. 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取

    装饰者模式的学习(c#) 案例转自https://www.cnblogs.com/stonefeng/p/5679638.html //主体基类 using System;using System.C ...

  2. 基于SMS短信平台给手机发送短信

    JAVA发送手机短信,我知道的有三种方式,恰逢项目需求,自己整理了基于SMS的短信发送,其他两种这里就说说一下 使用webservice接口发送手机短信,这个可以使用sina提供的webservice ...

  3. java中用中国网建提供的SMS短信平台发送短信

    接下来的项目需求中提到需要短信发送功能,以前没有做过,因此便在网上搜了一下.大体上说的都是有三种方法,分别是sina提供的webservice接口.短信mao和中国网建提供的SMS短信平台. 这三种方 ...

  4. 中国网建SMS短信接口调用(java发送和接收手机短信)

    1.先注册账号,一定要填写好签名格式.不填会返回-51错误.   代码信息接口详细==>http://sms.webchinese.cn/api.shtml   . 2.测试代码 package ...

  5. 四:java调接口实现发送手机短信验证码功能

    1.点击获取验证码之前的样式: 2.输入正确的手机号后点击获取验证码之后的样式: 3.如果手机号已经被注册的样式: 4.如果一个手机号一天发送超过3次就提示不能发送: 二:前台的注册页面的代码:reg ...

  6. Java通过SMS短信平台实现发短信功能

    在项目中使用过发短信的功能,但那个由于公司内部的限制很麻烦,今天在网上找到一个简单的,闲来无事就把它记录如下: 本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条免费短信 ...

  7. Java调用WebService接口实现发送手机短信验证码功能,java 手机验证码,WebService接口调用

    近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用到了第三方提供的短信平台接口WebService客户端接口,下面我把我在项目中用到的记录一下,以便给大家提供个思路,由于本人的文采有限, ...

  8. SNF开发平台WinForm之十二-发送手机短信功能调用-金笛-SNF快速开发平台3.3-Spring.Net.Framework

    1.调用前组装参数 2.调用发送信息服务脚本   .调用前组装参数: BaseSendTaskEntity entity = new BaseSendTaskEntity(); entity.Mess ...

  9. 【C#】C# 实现发送手机短信

    现在很多网站都是短信发送的功能,怎么实现的呢.对于个人站长来说的话,通过使用SMS短信通API接口相对比较划算和简单.那怎么实现呢,步骤如下: 1. 从网上(http://sms.webchinese ...

随机推荐

  1. Git切换分支出现提示'SSL端口:44301'及解决方案

    切换分支出现如下提示,并且自动签出了项目文件csproj. 修改项目文件csproj 修改前: <UseIISExpress>true</UseIISExpress> < ...

  2. C#深度拷贝和浅度拷贝方法

    C#浅度拷贝多用于值类型的复制,即 int a=1;int b=a; 设置b=2后不会影响a的值. 但如果对于引用类型class a=new class(); class b=a; 设置b.name= ...

  3. Swift语言—常量、变量、类型赋值

    常量:常量在作用域内不能被赋值且不会发生改变,只读不写,每个常量都必须有唯一的名字和内存空间:关键字:let   变量:变量在作用区域内可以它的值可以被改变,可读可写可覆盖,每个常量都必须有唯一的名字 ...

  4. 如何在Eclipse中设置默认的JSP文件头部编码

    如何在Eclipse中设置默认的JSP文件头部编码 一般,我们为了以后在导入和导出程序的时候(特别是项目较大,文件多)一般都默认文件编码格式为UTF-8 如果你通常都是通过Eclipse来编写程序,那 ...

  5. javascript笔记8-表单脚本、JSON、AJAX

    通过表单提交,很方便的可以从界面把参数传递给后台. 如果前后台我们有大量数据需要交互,JSON方便我们传递和读取. 如果需要更新一个界面的某一部分数据,并不想刷新界面,就要用到Ajax. 1. 表单脚 ...

  6. 简介C#读取XML的两种方式

    简介C#读取XML的两种方式 作者: 字体:[增加 减小] 类型:转载 时间:2013-03-03 在程序中访问进而操作XML文件一般有两种模型,分别是使用DOM(文档对象模型)和流模型,使用DOM的 ...

  7. 关于如何使用Altium Designer 10以上版本官方库

    开卷有益:如果本帖不适合在此板块,请斑竹自行删除,发帖的目的纯属报答各位Amofans.    Altium公司的Altium Designer 09版本及以下还能到Altium官网下载第三方Labr ...

  8. vi编辑器使用相关

    一.vi的使用 1.vi一共分为3种模式,分别是一般模式.编辑模式和命令行模式 2.一般模式:以vi打开一个文件就直接进入一般模式(也是默认的模式). 在这个模式下可以使用上下左右移动光标,还可以删除 ...

  9. RabbitMQ中 exchange、route、queue的关系

    从AMQP协议可以看出,MessageQueue.Exchange和Binding构成了AMQP协议的核心,下面我们就围绕这三个主要组件    从应用使用的角度全面的介绍如何利用Rabbit MQ构建 ...

  10. 重放攻击(Replay Attacks)

    重放攻击(Replay Attacks)1.什么是重放攻击顾名思义,重复的会话请求就是重放攻击.可能是因为用户重复发起请求,也可能是因为请求被攻击者获取,然后重新发给服务器. 2.重放攻击的危害请求被 ...