account = $config['account']; $this->password = $config['password']; $this->api_send_url = $config['send_url']; } /** * 发送短信 * * @param string $mobile 手机号码 * @param string $msg 短信内容 * @param string $need_status 是否需要状态报告 * @return mixed */ public function sendSMS($mobile, $msg, $need_status = 'true') { //创蓝接口参数 $postArr = array( 'account' => $this->account, 'password' => $this->password, 'msg' => urlencode($msg), 'phone' => $mobile, 'report' => $need_status, ); $result = $this->curlPost($this->api_send_url, $postArr); return $result; } /** * 发送变量短信 * * @param string $msg 短信内容 * @param string $params 最多不能超过1000个参数组 * @return mixed */ public function sendVariableSMS($msg, $params) { //创蓝接口参数 $postArr = array( 'account' => $this->account, 'password' => $this->password, 'msg' => $msg, 'params' => $params, 'report' => 'true', ); $result = $this->curlPost(self::API_VARIABLE_URL, $postArr); return $result; } /** * 查询额度 * */ public function queryBalance() { //查询参数 $postArr = array( 'account' => $this->account, 'password' => $this->password, ); $result = $this->curlPost(self::API_BALANCE_QUERY_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); 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 json_decode($result, true); } }