<?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"]; //拒绝短信名单
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;
}
}