<?php namespace app\common\api; class ChuanglanSmsApi { //参数的配置请登录zz.253.com获取以下API信息↓↓↓↓↓↓↓ const API_SEND_URL = 'http://smssh1.253.com/msg/send/json'; //创蓝发送短信接口URL const API_ACCOUNT = 'N7450217'; //创蓝API账号 const API_PASSWORD = 'wS5gE4GQszb46f'; //创蓝API密码 private $verification; /** * 发送短信 * * @param string $mobile 手机号码 * @param string $msg 短信内容 * @param string $needstatus 是否需要状态报告 */ public function sendSMS($mobile, $msg, $needstatus = 'true') { //创蓝接口参数 $postArr = array( 'account' => self::API_ACCOUNT, 'password' => self::API_PASSWORD, 'msg' => urlencode($msg), 'phone' => $mobile, 'report' => $needstatus, ); $deny_list = ["jjrcw.test", "jjrcw.test:8080","report.com","report.jinjianghc.com"]; //拒绝短信名单 if (in_array($_SERVER["HTTP_HOST"], $deny_list)) return false; //测试不发送信息 $result = $this->curlPost(self::API_SEND_URL, $postArr); return $result; } /** * 通过CURL发送HTTP请求 * @param string $url //请求URL * @param array $postFields //请求参数 * @return mixed * */ private function curlPost($url, $postFields) { $postFields = json_encode($postFields); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json; charset=utf-8' //json版本需要填写 Content-Type: application/json; ) ); curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); //若果报错 name lookup timed out 报错时添加这一行代码 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); $ret = curl_exec($ch); if (false == $ret) { $result = curl_error($ch); } else { $rsp = curl_getinfo($ch, CURLINFO_HTTP_CODE); if (200 != $rsp) { $result = "请求状态 " . $rsp . " " . curl_error($ch); } else { $result = $ret; } } curl_close($ch); return $result; } }