架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 309|回复: 1

php调用短信验证码接口

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-31 17:50:48
zu
调用的短信接口是乐信短信接口,这是他们官网地址(https://www.lx598.com/),具体的短信接口api文档参数,可以去他们网站上查看,这里给大家贴出来,调用他们接口的核心代码,供大家参考。另外夸下他们,他们为每个新用户提供有免费测试短信条数,100条左右,一般来说够测试用了
  1. <?php
  2.        
  3.                
  4.         // ① 该代码仅供接入动力思维乐信短信接口参考使用,客户可根据实际需要自行编写;
  5.         // ② 支持发送验证码短信、触发通知短信等;
  6.         // ③ 测试验证码短信、通知短信,请用默认的测试模板,默认模板详见接口文档。

  7.                                
  8.         class SendUtility {
  9.                 private $_config = array();
  10.                
  11.                 /**
  12.                  * 获取相关配置
  13.                  * Config.php文件中的乐信用户名、密码、签名
  14.                  */
  15.                 public __construct($config) {
  16.                         $this->_config  =  $config;
  17.                 }
  18.                
  19.                 /**
  20.                  * 拼接请求参数
  21.                  */
  22.                 function BuildContent($AimMobiles, $Content) {
  23.                         $str  = "accName=" . urlencode($this->_config["UserName"]);
  24.                         $str .= "&accPwd=" . urlencode(strtoupper(md5($this->_config["Password"])));
  25.                         $str .= "&aimcodes=" . urlencode($AimMobiles);
  26.                         $str .= "&content=" . urlencode($Content . $this->_config["Signature"]);
  27.                         return $str;
  28.                 }
  29.                  
  30.                 /**
  31.                  * 短信发送
  32.                  * @param $AimMobiles 下行手机号
  33.                  * @param $Content 短信内容
  34.                  */
  35.                 function Send($AimMobiles, $Content) {
  36.                         $content = $this->BuildContent($AimMobiles, $Content);
  37.                         $counter = 0;
  38.                         while ($counter < count($this->_config["Addresses"])) {
  39.                                 $opts = array('http' =>  array("method" => "POST", "timeout" => $this->_config["HttpTimeout"],
  40.                                         "header" => "Content-type: application/x-www-form-urlencoded", "content" => $content));
  41.                                 $message = file_get_contents($this->_config["Addresses"][$counter] . "/send", false,
  42.                                         stream_context_create($opts));
  43.                                 if ($message == false) $counter++;
  44.                                 else break;                               
  45.                         }
  46.                         if ($message == false) return "发送失败";       
  47.                         $RtnString = explode(";", $message);       
  48.                         if ($RtnString[0] != "1") return $RtnString[1];       
  49.                         return $RtnString[0];       
  50.                 }
  51.                
  52.                 /**
  53.                  * 余额查询
  54.                  * @param $accName 用户名
  55.                  * @param $accPwd 密码
  56.                  */
  57.                 function Query() {
  58.                         $content  = "accName=" . urlencode($this->_config["UserName"]);
  59.                         $content .= "&accPwd=" . urlencode(strtoupper(md5($this->_config["Password"])));
  60.                         $opts = array('http' =>  array("method" => "POST",
  61.                                 "header" => "Content-type: application/x-www-form-urlencoded",
  62.                                 "content" => $content));
  63.                         $message = file_get_contents($this->_config["Addresses"][0] . "/qryBalance", false,
  64.                                 stream_context_create($opts));
  65.                         if ($message == false) return "查询失败";
  66.                         $RtnString = explode(";", $message);       
  67.                         if ($RtnString[0] != "1") return $RtnString[1];       
  68.                         return $RtnString[2];       
  69.                 }
  70.                
  71.                
  72.         }
复制代码







上一篇:discuz登录成功后的页面问题
下一篇:使用FileReader.readAsArrayBuffer()在浏览器中处理大文件
帖子永久地址: 

架构师_程序员 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与架构师_程序员享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和架构师_程序员的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、架构师_程序员管理员和版主有权不事先通知发贴者而删除本文

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
沙发
发表于 2019-5-31 23:07:44
不知道短信发送到达率咋样
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2019-9-18 06:10

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表