• SMS106 短信验证码接口测试


    SMS106  短信验证码接口测试

    一.什么是SMS106:

     106短信通道是指仅中国移动、中国联通提供的网关短信平台,实现与客户指定号码进行短信批量发送和自定义发送的目的,即你收到的短信在手机上以106开头的短信称为106短信。 短信通道的分类国内短信通道主要分为:106通道、电信虚拟短信通道:电话区号(类似021)的、1069三网合一企业实名制通,106通道一般显示为:106通道(10657移动,联通10655,电信10659)。全网移动企业短信通通道10657,联通10655,电信10659全部能够实现上下行,全国支持,适合通知祝福类的短信,限制房地产、发票、私募基金和SP等客户信息。

    二.Demo:

     1.接口网:

     1 private static string SendForJieKouWang(string phone)
     2         {
     3 
     4              //支持htpp get,post请求,如返回104错误,检查验证码内容是否系统提供的模板。
     5             //sms.106jiekou.com/utf8/sms.aspx?account=9999&password=接口密码&mobile=13900008888&content=您的验证码是:7409。请不要把验证码泄露给其他人。如非本人操作,可不用理会!。
     6             string url = "http://sms.106jiekou.com/utf8/sms.aspx";
     7 
     8             string account = "9999";
     9             string password = "111";
    10             int num = BuildCode();
    11             string content = "您的验证码是:" + num + "。请不要把验证码泄露给其他人。如非本人操作,可不用理会!";
    12 
    13             StringBuilder sb = new StringBuilder();
    14             sb.Append(url);
    15             sb.Append("?account=" + account);
    16             sb.Append("&password=" + password);
    17             sb.Append("&mobile=" + phone);
    18             sb.Append("&content=" + content);
    19 
    20             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sb.ToString());
    21             request.Method = "GET";
    22             request.Timeout = 5000;
    23 
    24             HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    25             StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
    26             string result = sr.ReadToEnd();
    27             sr.Close();
    28             code = num;
    29             return result;
    30             //直接返回状态码:成功是100
    31         }
    View Code

    2.网易云通信:

     1  private static string SendForWangYiYun(string phone)
     2         {
     3 
     4             string url = "https://api.netease.im/sms/sendcode.action";
     5             string mobile = "mobile=" + phone;
     6             byte[] byteArr = Encoding.UTF8.GetBytes(mobile.ToString());
     7 
     8             HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
     9             request.Method = "POST";
    10             request.ContentType = "application/x-www-form-urlencoded";
    11             request.ContentLength = byteArr.Length;
    12             request.Timeout = 5000;
    13 
    14             string appKey = "43c75a269800f3fa008812481db1b031";
    15             string appSecret = "9c74d37ab7f1";
    16             string nonce = "4tgggergigwow323t231";
    17             string curTime = GetCurTime();
    18             string checkSum = HashCodeForSHA1(appSecret + nonce + curTime);
    19 
    20             request.Headers.Add("AppKey", appKey);
    21             request.Headers.Add("Nonce", "4tgggergigwow323t23t");
    22             request.Headers.Add("CurTime", curTime);
    23             request.Headers.Add("CheckSum", checkSum);
    24 
    25             Stream requestStream = request.GetRequestStream();
    26             requestStream.Write(byteArr, 0, byteArr.Length);
    27             requestStream.Close();
    28 
    29             HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    30             StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
    31             string result = sr.ReadToEnd();
    32             sr.Close();
    33             response.Close();
    34             SMSResult smsResult = JsonConvert.DeserializeObject<SMSResult>(result);
    35             code = Convert.ToInt32(smsResult.Obj);
    36             return result;
    37 
    38             //{ "code":200,"msg":"1","obj":"5996"}
    39         }
    View Code

    3.上海创明:

     1  private static string SendForDuanxinWang(string phone)
     2         {
     3         
     4             string sendurl = "http://101.37.79.158/OpenPlatform/OpenApi";
     5             string action = "sendOnce";
     6             string ac = "1001@101012750001";            //用户名
     7             string authkey = "1E37CA014926157DDC29A59ECA9FBD81";    //密钥
     8             string cgid = "1";  //通道组编号
     9             string csid = "1";  //签名编号 ,可以为空时,使用系统默认的编号
    10             int num = BuildCode();
    11             string c = "【创明短信】验证码:" + num + ", [验证码告知他人将导致帐号被盗,请勿泄露]";  // 短信的内容,不能为空
    12 
    13             StringBuilder sb = new StringBuilder();
    14             sb.Append("action=" + action);
    15             sb.Append("&ac=" + ac);
    16             sb.Append("&authkey=" + authkey);
    17             sb.Append("&cgid=" + cgid);
    18             sb.Append("&csid=" + csid);
    19             sb.Append("&m=" + phone);
    20             sb.Append("&c=" + c);
    21 
    22             byte[] byteArr = Encoding.GetEncoding("utf-8").GetBytes(sb.ToString());
    23 
    24             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sendurl);
    25             request.Method = "POST";
    26             request.Timeout = 5000;
    27             request.ContentType = "application/x-www-form-urlencoded";
    28             request.ContentLength = byteArr.Length;
    29 
    30             Stream requestStream = request.GetRequestStream();
    31             requestStream.Write(byteArr, 0, byteArr.Length);
    32             requestStream.Close();
    33 
    34             HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    35             StreamReader responseStream = new StreamReader(response.GetResponseStream(), Encoding.ASCII);
    36             string result = responseStream.ReadToEnd();
    37             responseStream.Close();
    38             response.Close();
    39             code = num;
    40             return result;
    41 
    42             //返回xml
    43             //<? xml version = "1.0" ?>
    44             //    < xml result = "1" name = "sendOnce" >
    45             //        < Item remain = "0.100" price = "0.1" total = "1" msgid = "8450826309420610" sid = "1001" cid = "901012750001" />
    46             //    </ xml >
    47         }
    View Code

     4.云通讯:

     1  private static string SendForYunTongXun(string phone)
     2         {
     3 
     4    
     5 
     6             //注册不能免费试用,可以通过联系客服可以提供测试账号及密码,要求参数json格式
     7             string url = "http://vsms.253.com/msg/send/json";
     8             string account = "N3723588";
     9             string password = "qdzCbTt5lEf411";
    10             int num = BuildCode();
    11             string msg = "【253云通讯】您的验证码是:" + num + "";
    12 
    13             //可选项
    14             string sendtime = "";
    15             string extend = "";
    16             string uid = "";
    17             //string json = "{ "account":"N3723588","password":"qdzCbTt5lEf411","msg":"254786",,"phone":"13520073575"}";
    18             Param p = new Param();
    19             p.account = account;
    20             p.password = password;
    21             p.msg = msg;
    22             p.phone = phone;
    23             string json=JsonConvert.SerializeObject(p);
    24 
    25             byte[] dataArr = Encoding.UTF8.GetBytes(json);
    26 
    27             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    28             request.Method = "POST";
    29             request.ContentType = "application/json";
    30             request.ContentLength = dataArr.Length;
    31             request.Timeout = 5000;
    32 
    33             Stream requestStream = request.GetRequestStream();
    34             requestStream.Write(dataArr, 0, dataArr.Length);
    35             requestStream.Close();
    36 
    37             HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    38             StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
    39             string result = sr.ReadToEnd();
    40             sr.Close();
    41             response.Close();
    42             code = num;
    43             return result;
    44             //"{"time":"20170608113306","msgId":"","errorMsg":"无此用户","code":"101"}"  error
    45             //"{"time":"20170608113520","msgId":"17060811352028802","errorMsg":"","code":"0"}"  ok
    46         }
    View Code

    三.注意事项:

    参数一些公司为了安全会吧一些关键的参数放入header中;

    首先必须登录其官网注册,来获得自己需要的参数;

    仅供参考,请勿拷贝粘贴,多动手,你的技术就会提升一大截。(拷贝你也用不了,某些隐秘参数我会乱输的,安全第一)

  • 相关阅读:
    跳出IFrame几种方式
    EChart使用简单介绍
    ckplayer视频播放插件使用
    uploadify文件批量上传
    纵表与横表互转实例(转)
    Sublime Text3使用记录
    异步上传,显示进度条
    JS手机浏览器判断(转)
    命令行创建maven模块工程
    eclipse创建maven模块工程
  • 原文地址:https://www.cnblogs.com/zlp520/p/6960902.html
Copyright © 2020-2023  润新知