0 && $i == $index - 1) {
$phoneList = array_slice($phones, $i * $size, $r);
} else {
$phoneList = array_slice($phones, $i * $size, $size);
}
$jsonData = getSign($userName, $password);
$jsonData["content"] = $content;
$jsonData["phoneList"] = $phoneList;
// 发送请求
post($url, $jsonData);
}
}
/**
* 短信一对一发送接口
*/
function sendMessageOne($userName, $password, $address)
{
$url = "http://address:port/sms/api/sendMessageOne";
$url = str_replace("http://address:port/sms", $address, $url);
$content = "【飞飞科技】您的验证码是{%变量%}";
# 数组形式,每个 JSON 对象包含短信内容和号码数据,最大 1000 个号码。
$size = 2000;
$phoneList = array("13457856748", "13457856749", "13457856750");
$messageList = array();
$jsons = array();
for ($i = 0; $i < count($phoneList); $i++) {
$msg = array();
$msg["phone"] = $phoneList[$i];
$msg["content"] = str_replace("{%变量%}", $content, rand(100000, 999999));
array_push($messageList, $msg);
if ($i > 0 && ($i + 1) % $size == 0) {
$jsons = getSign($userName, $password); // 帐号认证信息,五分钟内有效,防止过期
$jsons["messageList"] = $messageList;
// 发送请求数据
post($url, $jsons);
// 初始化列表空数据
$messageList = array();
}
}
// 如果最后的还没发完,那在再处理一次
if (count($messageList) > 0) {
$jsons = getSign($userName, $password); // 帐号认证信息,五分钟内有效,防止过期
$jsons["messageList"] = $messageList;
// 发送请求数据
post($url, $jsons);
}
}
/**
* 回执状态获取接口
*/
function getReport($userName, $password, $address)
{
$jsonData = getSign($userName, $password);
$url = "http://address:port/sms/api/getReport";
$url = str_replace("http://address:port/sms", $address, $url);
post($url, $jsonData);
}
/**
* 上行回复获取接口
*/
function getUpstream($userName, $password, $address)
{
$jsonData = getSign($userName, $password);
$url = "http://address:port/sms/api/getUpstream";
$url = str_replace("http://address:port/sms", $address, $url);
post($url, $jsonData);
}
/**
* 查询余额接口
*/
function getBalance($userName, $password, $address)
{
$jsonData = getSign($userName, $password);
$url = "http://address:port/sms/api/getBalance";
$url = str_replace("http://address:port/sms", $address, $url);
post($url, $jsonData);
}
/**
* 提交短信模板接口
*/
function createTemplate($userName, $password, $address)
{
//变量部分统一用 {%变量%} 代替
$content = "【小黑科技】验证码{%变量%}";
$jsons = getSign($userName, $password);
$jsons["content"] = $content;
$url = "http://address:port/sms/api/createTemplate";
$url = str_replace("http://address:port/sms", $address, $url);
post($url, $jsons);
}
/**
* 查询短信模板接口
*/
function queryTemplates($userName, $password, $address)
{
$jsonData = getSign($userName, $password);
$url = "http://address:port/sms/api/queryTemplates";
$url = str_replace("http://address:port/sms", $address, $url);
post($url, $jsonData);
}
/**
* 报备签名接口
*/
function addSignature($userName, $password, $address)
{
$jsons = getSign($userName, $password); // 帐号认证信息,五分钟内有效,防止过期
$jsons["signatureList"] = array("【时尚家居】", "【小酒科技】");
$url = "http://address:port/sms/api/addSignature";
$url = str_replace("http://address:port/sms", $address, $url);
post($url, $jsons);
}
/**
* 查询签名接口
*/
function querySignature($userName, $password, $address)
{
$jsonData = getSign($userName, $password);
$url = "http://address:port/sms/api/querySignature";
$url = str_replace("http://address:port/sms", $address, $url);
post($url, $jsonData);
}
/**
* 发送请求
*/
function post($url, $jsonData)
{
$jsonStr = json_encode($jsonData, 256);
echo "请求地址: $url
";
echo "请求参数: $jsonStr
";
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
array(
'Content-Type: application/json; charset=utf-8',
'Content-Length: ' . strlen($jsonStr)
)
);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo "请求结果: $response
";
}
?>