SMS106  短信验证码接口测试

一.什么是SMS106:

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

二.Demo:

 1.接口网:

 private static string SendForJieKouWang(string phone)
{ //支持htpp get,post请求,如返回104错误,检查验证码内容是否系统提供的模板。
//sms.106jiekou.com/utf8/sms.aspx?account=9999&password=接口密码&mobile=13900008888&content=您的验证码是:7409。请不要把验证码泄露给其他人。如非本人操作,可不用理会!。
string url = "http://sms.106jiekou.com/utf8/sms.aspx"; string account = "";
string password = "";
int num = BuildCode();
string content = "您的验证码是:" + num + "。请不要把验证码泄露给其他人。如非本人操作,可不用理会!"; StringBuilder sb = new StringBuilder();
sb.Append(url);
sb.Append("?account=" + account);
sb.Append("&password=" + password);
sb.Append("&mobile=" + phone);
sb.Append("&content=" + content); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sb.ToString());
request.Method = "GET";
request.Timeout = ; HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string result = sr.ReadToEnd();
sr.Close();
code = num;
return result;
//直接返回状态码:成功是100
}

2.网易云通信:

  private static string SendForWangYiYun(string phone)
{ string url = "https://api.netease.im/sms/sendcode.action";
string mobile = "mobile=" + phone;
byte[] byteArr = Encoding.UTF8.GetBytes(mobile.ToString()); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArr.Length;
request.Timeout = ; string appKey = "43c75a269800f3fa008812481db1b031";
string appSecret = "9c74d37ab7f1";
string nonce = "4tgggergigwow323t231";
string curTime = GetCurTime();
string checkSum = HashCodeForSHA1(appSecret + nonce + curTime); request.Headers.Add("AppKey", appKey);
request.Headers.Add("Nonce", "4tgggergigwow323t23t");
request.Headers.Add("CurTime", curTime);
request.Headers.Add("CheckSum", checkSum); Stream requestStream = request.GetRequestStream();
requestStream.Write(byteArr, , byteArr.Length);
requestStream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string result = sr.ReadToEnd();
sr.Close();
response.Close();
SMSResult smsResult = JsonConvert.DeserializeObject<SMSResult>(result);
code = Convert.ToInt32(smsResult.Obj);
return result; //{ "code":200,"msg":"1","obj":"5996"}
}

3.上海创明:

  private static string SendForDuanxinWang(string phone)
{ string sendurl = "http://101.37.79.158/OpenPlatform/OpenApi";
string action = "sendOnce";
string ac = "1001@101012750001"; //用户名
string authkey = "1E37CA014926157DDC29A59ECA9FBD81"; //密钥
string cgid = ""; //通道组编号
string csid = ""; //签名编号 ,可以为空时,使用系统默认的编号
int num = BuildCode();
string c = "【创明短信】验证码:" + num + ", [验证码告知他人将导致帐号被盗,请勿泄露]"; // 短信的内容,不能为空 StringBuilder sb = new StringBuilder();
sb.Append("action=" + action);
sb.Append("&ac=" + ac);
sb.Append("&authkey=" + authkey);
sb.Append("&cgid=" + cgid);
sb.Append("&csid=" + csid);
sb.Append("&m=" + phone);
sb.Append("&c=" + c); byte[] byteArr = Encoding.GetEncoding("utf-8").GetBytes(sb.ToString()); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sendurl);
request.Method = "POST";
request.Timeout = ;
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArr.Length; Stream requestStream = request.GetRequestStream();
requestStream.Write(byteArr, , byteArr.Length);
requestStream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader responseStream = new StreamReader(response.GetResponseStream(), Encoding.ASCII);
string result = responseStream.ReadToEnd();
responseStream.Close();
response.Close();
code = num;
return result; //返回xml
//<? xml version = "1.0" ?>
// < xml result = "1" name = "sendOnce" >
// < Item remain = "0.100" price = "0.1" total = "1" msgid = "8450826309420610" sid = "1001" cid = "901012750001" />
// </ xml >
}

4.云通讯:

  private static string SendForYunTongXun(string phone)
{ //注册不能免费试用,可以通过联系客服可以提供测试账号及密码,要求参数json格式
string url = "http://vsms.253.com/msg/send/json";
string account = "N3723588";
string password = "qdzCbTt5lEf411";
int num = BuildCode();
string msg = "【253云通讯】您的验证码是:" + num + ""; //可选项
string sendtime = "";
string extend = "";
string uid = "";
//string json = "{ \"account\":\"N3723588\",\"password\":\"qdzCbTt5lEf411\",\"msg\":\"254786\",,\"phone\":\"13520073575\"}";
Param p = new Param();
p.account = account;
p.password = password;
p.msg = msg;
p.phone = phone;
string json=JsonConvert.SerializeObject(p); byte[] dataArr = Encoding.UTF8.GetBytes(json); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = dataArr.Length;
request.Timeout = ; Stream requestStream = request.GetRequestStream();
requestStream.Write(dataArr, , dataArr.Length);
requestStream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string result = sr.ReadToEnd();
sr.Close();
response.Close();
code = num;
return result;
//"{\"time\":\"20170608113306\",\"msgId\":\"\",\"errorMsg\":\"无此用户\",\"code\":\"101\"}" error
//"{\"time\":\"20170608113520\",\"msgId\":\"17060811352028802\",\"errorMsg\":\"\",\"code\":\"0\"}" ok
}

三.注意事项:

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

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

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

SMS106 短信验证码接口测试的更多相关文章

  1. Atitit. 破解  拦截 绕过 网站 手机 短信 验证码  方式 v2 attilax 总结

    Atitit. 破解  拦截 绕过 网站 手机 短信 验证码  方式 v2 attilax 总结 1. 验证码的前世今生11.1. 第一代验证码 图片验证码11.2. 第二代验证码  用户操作 ,比如 ...

  2. jQuery获取短信验证码+倒计时实现

    jQuery 短信验证码倒计时 <script type="text/javascript" charset="utf-8"> $(function ...

  3. 转载:Android自动化测试- 自动获取短信验证码

    前言:android应用的自动化测试必然会涉及到注册登录功能,而许多的注册登录或修改密码功能常常需要输入短信验证码,因此有必要能够自动获得下发的短信验证码. 主要就是实时获取短信信息. android ...

  4. App开发(Android与php接口)之:短信验证码

    最近和同学们一起开发一个自主项目,要用到短信验证码,在网上搜索了很久,看到一个推荐贴,提到了很多不错的短信服务商.经过测试,帖子中提到的服务商他们的短信到达率和到达速度也都不错.最后,由于经费问题,我 ...

  5. android自动获取短信验证码

    前言:android应用的自动化测试必然会涉及到注册登录功能,而许多的注册登录或修改密码功能常常需要输入短信验证码,因此有必要能够自动获得下发的短信验证码.主要就是实时获取短信信息.android上获 ...

  6. Atitit usrQBM1603短信验证码规范

    Atitit usrQBM1603短信验证码规范 短信验证码扩展至短信服务和验证码服务1 主要方法1 参考模板1 短信验证码扩展至短信服务和验证码服务 主要方法 Line 27: public cla ...

  7. atitit 短信验证码的源码实现  .docx

    atitit 短信验证码的源码实现  .docx 参考 Atitit usrQBM1603短信验证码规范1 主要方法1 源码实现1 参考 Atitit usrQBM1603短信验证码规范 主要方法 L ...

  8. Android学习笔记之短信验证码的获取和读取

    PS:最近很多事情都拖拖拉拉的..都什么办事效率啊!!! 还得吐槽一下移动运营商,验证码超过五次的时候,直接把我的手机号封闭.真是受够了. 学习笔记: 1.Android之如何获取短信验证码. 2.如 ...

  9. php实现的IMEI限制的短信验证码发送类

    php实现的IMEI限制的短信验证码发送类 <?php class Api_Sms{ const EXPIRE_SEC = 1800; // 过期时间间隔 const RESEND_SEC = ...

随机推荐

  1. Java-Maven-Runoob:Maven Web 应用

    ylbtech-Java-Maven-Runoob:Maven Web 应用 1.返回顶部 1. Maven Web 应用 本章节我们将学习如何使用版本控制系统 Maven 来管理一个基于 web 的 ...

  2. Kibana5.6安装

    Kibana5.6安装 1.下载 wget https://artifacts.elastic.co/downloads/kibana/kibana-5.6.8-linux-x86_64.tar.gz ...

  3. 使用springboot写一个简单的测试用例

    使用springboot写一个简单的测试用例 目录结构 pom <?xml version="1.0" encoding="UTF-8"?> < ...

  4. maven项目依赖包问题

    问题 maven传递依赖 解决方案   前段时间,开发中遇到一个关于maven依赖包的问题:由于业务需要,支付网关对账代码中的slf4j-api包需要更新,原包为1.5.8版本,需要更新到1.6.4版 ...

  5. openstack 租户ip 手动配置 openstack静态租户ip

    作者:[吴业亮]云计算开发工程师 博客:http://blog.csdn.net/wylfengyujiancheng 1.综述: 在日常开发和生产环境中经常需要将OpenStack虚拟机配置一个静态 ...

  6. 每天一个Linux命令 - 【find】

    命令:find 用途:查找文件并执行指令的操作 [语法]:find [路径] [选项] [参数] [功能介绍]:find命令在指定的目录下查找文件.find命令还能够对查找到的文件执行的指定的操作,通 ...

  7. sql server生成递归日期、连续数据

    WITH Date AS ( SELECT CAST('2008-08-01' AS DATETIME) da UNION ALL FROM Date WHERE da < '2008-08-2 ...

  8. 【转载】C# 从服务器下载文件

    支持并尊重原创!原文地址:https://www.cnblogs.com/GoCircle/p/6429136.html 一.//TransmitFile实现下载 protected void But ...

  9. 搜索——深度优先搜索(DFS)

    设想我们现在身处一个巨大的迷宫中,我们只能自己想办法走出去,下面是一种看上去很盲目但实际上会很有效的方法. 以当前所在位置为起点,沿着一条路向前走,当碰到岔道口时,选择其中一个岔路前进.如果选择的这个 ...

  10. window 下编译cef 内核 加入mp3/mp4 支持

    下载 depot_tools 解压,加入到环境变量 进入cmd(管理员)运行 gclient 获取 python和git,svn,设置python环境变量 创建新文件夹 mkdir chromium ...