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         }

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         }

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 = "[email protected]";            //用户名
 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         }

三.注意事项:

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

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

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

时间: 2024-10-05 02:50:26

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

JMETER获取短信验证码接口压测

主要学习的内容包括发送HTTP请求.HTTP信息头管理器.HTTP cookies管理器.用户定义的变量.响应断言.CSV数据文件设置的使用. 一.测试相关网站及接口说明: 提供的测试网址为:http://www.qk365.com/security/register 使用Chrome浏览器,先将浏览器的cookies缓存清空. 清空后,打开待测试的网址,按F12键,输入要注册的手机号码,如“18300987622”,点击“发送验证码”,可以看到请求的接口为:http://www.qk365.c

实现短信验证码

朋友让帮忙做一个短信验证码工具,对此有了初体验. 1. 编码转换:字符集必须是GB2312格式,字符必须用UrlEncode进行编码. $sms = "短信验证码:2312[大象投资]"; // utf8 echo urlencode(mb_convert_encoding($sms,'gb2312','utf-8')); 2. 通知类短信,如果没有备案,晚上.周末等非工作时间不能发送,必须白天发送,因为那时候才有人工审查. 3. 验证码类短信,随便发,没有太多限制. 了解到上面的内容

atitit.短信&#160;验证码&#160;&#160;破解&#160;&#160;v3&#160;p34&#160;&#160;识别&#160;绕过&#160;系统方案规划----业务相关方案&#160;手机验证码&#160;&#160;.doc

atitit.短信 验证码  破解  v3 p34  识别 绕过 系统方案规划----业务相关方案 手机验证码  .doc 1. 手机短信验证码 vs 图片验证码 安全性(破解成本)确实要高一些1 1.1. 破解基本原则有两种,一种是绕过验证码.一种是拦截1 2. 手机 短信 验证码的 破解 拦截 方式分类2 2.1. 按照源头破解拦截分为源头拦截,中间拦截,,终端拦截...2 2.2. 按照是否软硬件可分类为 纯软件方案与软硬件结合方案2 3. 具体的方法如下2 3.1. 后台服务器漏洞绕过法

Android开发之属于你的短信验证码(一)

不飞则已,一飞冲天;不鸣则已,一鸣惊人---------司马迁 最近工作又有新需求,要求用户在注册的时候需要通过手机验证码,这样做的目的是防止用户通过一个邮箱来随便的注册,那么好,今天我们就 一起来学习一下Android中的短信验证码这一个知识点.如有谬误,欢迎批评指正,如有疑问欢迎留言,谢谢 在说这个知识点前,我们首先来了解下聚合数据 一.聚合数据介绍 聚合数据是一家国内最大的基础数据API提供商,专业从事互联网数据服务.免费提供从天气查询.空气质量.地图坐标到金融基金.电商比价.违章查询等各

Yii2在Form中处理短信验证码的Validator,耦合度最低的短信验证码验证方式

短信验证码在目前大多数web应用中都会有,本文介绍一个基于Yii2 Validator方式的验证码验证方式. 在其他文章中看到的方式大多比较难做到一次封装,多次重用. 使用此方式的好处自然不用多说,Validator支持在Model和Form中使用,使用的时候只需要在rules中添加一条验证规则即可. 第一步: 准备数据表,用来存储短信验证码 CREATE TABLE `tbl_sms_log` ( `id` int(11) NOT NULL AUTO_INCREMENT, `to` varch

从平安wifi的短信验证码--也谈产品经理

有钱就是任性,今年很流行. 但在下载后,填手机验证码的时候,我在重复了7次之后,才得以成功. 平时很多短信验证码都是60s,这个时间在一般时段是合适的.但在平安免费注册的1.28日,人数太多,这个经验值就值得商榷了. 对于应用的用户体验来说,收七次验证码,加上60秒倒数的慌乱,即使不考虑短信费用,也是一件让人扯蛋的事情. 所以,产品经理不是小事,百万人次被扯蛋不是好体验.所以,60秒的产品经理是及格,但不是优秀. 多给点时间,对PM来说,有那么难么?! 参见: 平安"土豪式"搅局免费W

实现短信验证码注册

今晚研究了下短信验证码注册,很简单,用的是  云通讯的短信系统(收费的,不过有测试的api给我们做测试).好了,不多说,进入正题. 1.收到到云通讯短信系统注册账号,然后下载他们的封装好的短信api接口代码,解压,然后找到CCPRestSDK.php文件和SendTemplateSMS.php文件,将其拉到根目录文件夹里: 2.打开SendTemplateSMS.php文件,首先注意include_once('./CCPRestSDK.php'),千万别包含错路径了,将云通讯给的测试主账号,主账

发送短信验证码

//发送短信 $("#btnSendcode").click(function () { var $this = $(this); //检查是否输入手机号码 if ($("#txtMobile").val() == "") { $.dialog.alert("对不起,请先输入手机号码!", function () { $("#txtMobile").focus(); }); return false; }

thinkphp集成系列之短信验证码、订单通知

现在这个短信通知泛滥的年代:应用如果没有个短信注册:你都不敢说你是搞开发的: 这个验证码搞起来是不难的:但是如果刚接触也是有点不知从哪下手的迷茫: 先讲下概念: 要想发送验证码:需要至少三项:appid.key.模板id: appid.和key比如较容易理解:各种第三方平台都会提供的:可能叫法不一样: 模板id就是指的短信的内容:例如[淘宝]验证码是192612,请您在5分钟内输入: 这就是一个模板:我们发短信的时候只能改变192612.和5这两个数字:其他是固定的: 因为政策的问题:模板需要申