PHP 手机短信发送验证码
点击链接加入群【php/web 学习课堂】:https://jq.qq.com/?_wv=1027&k=5645xiw
欢迎大家加入,一起讨论学习
本篇设计的知识点有点多,我会分类将,同学们可以选择性的看,当然全学会是最好的。
首先我们要清楚以下要点:
1.短信平台
2.编码模式
3.curl方法
4.接口参数
5.返回值(成功/失败)
我们开始吧:
1.短信平台,有很多,当初同学介绍给我,是“阿里大于”,但由于第一次加入这么大的平台,有点迷,最后的结果是没成功....我找到了另外一些平台,对比了之后,我决定采用 106接口(http://www.106jiekou.com/),我没打广告哟,相信我。我选择的这个平台,价格是没有 阿里大于 优惠的,效率的话,阿里的背景我就不用解释了吧
2.当我们进入106接口官方之后,注册(可以免费试用10条短信),进入个人中心之后,上面有一个“下载接口文档”。我们下载之后,能看到两个文件夹:gbk 和 utf8,两者的区别请参考:https://zhidao.baidu.com/question/133119038.html
3.此平台提供了curl方法,我们就选择此方法来实现功能,代码等一切都已写好,只需要我们修改参数,不明白curl的,可以参考:http://www.jb51.net/article/39940.htm
4.参数,不懂参数的同学,请重修一遍,因为这里,你可以不懂任何代码,因为你只需要写出正确的参数,即刻实现功能。他给出了 4个参数:account(帐号)、password(接口密码)、mobile(手机号码)、content(短信内容);还有一个固定的 链接,链接不需要管,是他们平台的接口地址
注:第四个参数(短信内容)不能随意修改,需要参考短信平台提供的“模板”,若要修改成你想要的内容,需要跟平台交流... 人家平台是要赚钱继续运营的,所以给了我们一定限制的,你开通VIP就可以自定义模板,越高权限越大....我真的没打广告,只是我用过,给大家分享经验
5.返回值,当我们填写了参数,运行此代码,就会访问别人的接口地址(他提供的默认链接),成功失败都会返回给我们一个状态吗,是一个数字,我们需要去看他的开发文档,对应他返回的状态吗,给出相应的提示
<?php
header("Content-Type: text/html; charset=utf-8");
function Post($curlPost,$url){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
$return_str = curl_exec($curl);
curl_close($curl);
return $return_str;
} $target = "http://sms.106jiekou.com/utf8/sms.aspx";
//替换成自己的测试账号,参数顺序和wenservice对应
$post_data = "account=账号&password=密码&mobile=手机号码&content=".rawurlencode("您的验证码是:651080565。如需帮助请联系客服。"); echo $gets = Post($post_data, $target); //采用UTF-8编码,要将文件另存为UTF-8格式
//请自己解析$gets字符串并实现自己的逻辑
//100 表示成功,其它的参考文档 ?>
以上,参数的意思:
账号、密码,是你在他平台上注册的账号和密码,他需要知道,你是不是他平台的用户,获取了你的账号和密码,就可以去使用属于你的短信套餐;
第三个参数:手机号码,是你要将短信发送给谁的手机号码;
第四个参数:短信内容。上面说过了这个平台的短信模板,是有权限的,我们不能修改,修改的话,就会失败,需要自定义模板,就要充钱成为VIP
复制以上代码,修改前三个参数,可以直接使用,但是需要去平台注册你的账号,可免费试用10条的样子。
这里说一下,有的同学肯定说,这个平台不稳定,不优惠,总之就是不想用他,想用其他平台怎么办?不难,我这里演示的这个过程,你只需要明白,调用别人平台的接口,你就要遵守他的规则,看他的开发者文档,思想基本上都是一样的,只要理清楚了思想,实现起来就不难了。
PHP 手机短信发送验证码的更多相关文章
- yii2验证密码->手机号码短信发送>手机短信发送频繁问题
<?php namespace frontend\models; use Yii; use yii\base\Model; class ChangeMobileSendRequestForm e ...
- laravel中实现短信发送验证码
前段时间想实现一个短信验证码的功能,但是卡了很长时间. 首先我用的是阿里云的短信服务业务,其首次接入流程如下: 在阿里云上开通短信服务后需要做的: 1,申请签名 2,申请模板 3,创建Acces ...
- [工具-007] C#手机短信发送
本工具是基于中国网建SMS短信通的API进行开发的,主要功能就是用注册的号码对指定的号码发送短信,此功能主要应用于企业营销方面. 中国网建SMS短信通http://www.smschinese.cn/ ...
- 4、ABPZero系列教程之拼多多卖家工具 集成短信发送模块
ABPZero并没有手机短信发送功能,现在我们来集成一个,为后面注册.登录作铺垫. 阿里云短信服务 首先需要在阿里云开通短信服务,连接地址 开通后,在签名管理中添加一个签名 在模板管理中添加一个模板, ...
- ABP集成短信发送模块
ABPZero并没有手机短信发送功能,现在我们来集成一个,为后面注册.登录作铺垫. 阿里云短信服务 首先需要在阿里云开通短信服务,连接地址 开通后,在签名管理中添加一个签名 在模板管理中添加一个模板, ...
- C#.NET 大型信息化系统集成快速开发平台 - 手机短信开发接口 4.0
可以批量发信息给手机,相同的信息发给多个手机号码的效果图 已发送手机短信列表 可以批量发手机的功能,可以把先有的待发信息列表,直接通过批量发送功能发出 这个是设置发送模板公式的功能展示,可以设置发送的 ...
- Java版阿里云通信短信发送API接口实例(新)
阿里云通信(原名阿里大于)的短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力,支持快速发送短信验证码.短信通知等. 完美支撑双11期间2亿用户,发送6亿短信 ...
- 四:java调接口实现发送手机短信验证码功能
1.点击获取验证码之前的样式: 2.输入正确的手机号后点击获取验证码之后的样式: 3.如果手机号已经被注册的样式: 4.如果一个手机号一天发送超过3次就提示不能发送: 二:前台的注册页面的代码:reg ...
- Java调用WebService接口实现发送手机短信验证码功能,java 手机验证码,WebService接口调用
近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用到了第三方提供的短信平台接口WebService客户端接口,下面我把我在项目中用到的记录一下,以便给大家提供个思路,由于本人的文采有限, ...
随机推荐
- Windows Bat 之For 循环
Windows Bat 之For 循环 1. For 循环基本用法. 1.1 格式 在cmd窗口中: FOR %variable IN (set) DO command [command-pa ...
- Linux通过AIO进行异步读文件
下面列出源代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <a ...
- django 2.2和mysql使用的常见问题
可能是由于Django使用的MySQLdb库对Python3不支持,我们用采用了PyMySQL库来代替,导致出现各种坑,特别是执行以下2条命令的是时候: python manage.py makemi ...
- 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_11-修改页面-前端-Api调用
修改数据 这是提交按钮的事件editSubmit 注意修改的方法是put方法.所以用requestPut 操作成功自动返回 测试 成功后自动跳转到列表页 修改后的数据
- Robot Framework 学习资源汇总
学习网站 http://robotframework.org/ http://www.testtao.cn/?cat=43 https://www.jianshu.com/c/483e8ffcbc79 ...
- CentOS7 升级 python3 过程及注意
• 从官网下载python3的压缩包,解压(以3.5.1版本为例)• 创建安装目录(自定义)sudo mkdir /usr/local/python3• cd 进入解压目录sudo ./configu ...
- logback 和 log4j对比,及相关配置
Logback 一.logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和log ...
- Java NIO学习笔记八 DatagramChannel
Java NIO DatagramChannel Java NIO DatagramChannel是可以发送和接收UDP数据包的通道.由于UDP是一种无连接网络协议,因此您不能默认读取和写入Datag ...
- SQL 里ESCAPE的用法
TABLES:makt. SELECT SINGLE * FROM makt AND maktx LIKE '%/_' ESCAPE '/' . SQL中escape的用法使用 ESCAPE 关键字定 ...
- Ubuntu14.04LTS下 JAVA+HADOOP
首先在虚拟机中安装了Ubuntu14.04LTS 前期工作: 更新源.更新安装vim.安装vmtools工具.安装中文输入法 sudo apt-get update sudo apt-get inst ...