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