查看: 490|回复: 0

[PHP实例] 分享一个php短信验证码接口实例

发表于 2017-11-4 11:34:14
太阳http代理AD
本帖最后由 e253 于 2017-11-5 21:19 编辑

www.e253.com]短信验证码发送[/url]
URL地址为:http://IP(域名)ORT/msg/HttpBatchSendSM。
注:其中IP(域名)ORT为服务部署的地址和端口。
IP(域名)为222.73.117.169 ,PORT默认为80.


参数定义
序号
参数
说明
1
account
必填参数。用户账号
2
pswd
必填参数。用户密码
3
mobile
必填参数。合法的手机号码
4
msg
必填参数。短信内容,短信内容长度不能超过585个字符。使用URL方式编码为UTF-8格式。短信内容超过70个字符(企信通是60个字符)时,会被拆分成多条,然后以长短信的格式发送。
5
needstatus
必填参数。是否需要状态报告,取值true或false,true,表明需要状态报告;false不需要状态报告
6
product
可选参数。用户订购的产品id
7
extno
可选参数,扩展码

短信提交响应
用户短信通过http请求提交到服务器后,服务器返回响应码,响应码的格式如下:
resptime,respstatus
msgid

短信提交响应分为两行,第一行为响应时间和状态,第二行为服务器给出提交msgid。无论发送的号码是多少,一个发送请求只返回一个msgid,如果响应的状态不是“0”,则没有msgid即第二行数据。(每行以换行符(0x0a,即\n)分割)



额度查询
http://IP(域名)ORT/msg/QueryBalance
注:其中IP(域名)ORT为服务部署的地址和端口。
IP(域名)为222.73.117.169 ,PORT默认为80。


参数定义
序号
参数
说明
1

account
必填参数。用户账号
2

pswd
必填参数。用户密码

短信提交响应
用户短信通过http请求提交到服务器后,服务器返回响应码,响应码的格式如下:
resptime,respstatus
msgid

短信提交响应分为两行,第一行为响应时间和状态,第二行为服务器给出提交msgid。无论发送的号码是多少,一个发送请求只返回一个msgid,如果响应的状态不是“0”,则没有msgid即第二行数据。(每行以换行符(0x0a,即\n)分割)
/* *
* 配置文件
* 版本:1.2
* 日期:2014-07-16
* 说明:
* 以下代码只是为了方便客户测试而提供的样例代码,客户可以根据自己网站的需要自行编写,并非一定要使用该代码。
* 该代码仅供学习和研究接口使用,只是提供一个参考。
*/
//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
//创蓝发送短信接口URL, 如无必要,该参数可不用修改
$chuanglan_config['api_send_url'] = 'http://222.73.117.169/msg/HttpBatchSendSM';
//创蓝短信余额查询接口URL, 如无必要,该参数可不用修改
$chuanglan_config['api_balance_query_url'] = 'http://222.73.117.169/msg/QueryBalance';
//创蓝账号 替换成你自己的账号
$chuanglan_config['api_account']        = 'xxxx';
//创蓝密码 替换成你自己的密码
$chuanglan_config['api_password']        = 'xxxx';
//↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
?-->
$chuanglan_config['api_account'],
                                          'pswd' => $chuanglan_config['api_password'],
                                          'msg' => $msg,
                                          'mobile' => $mobile,
                                          'needstatus' => $needstatus,
                                          'product' => $product,
                                          'extno' => $extno
                     );
                $result = $this->curlPost( $chuanglan_config['api_send_url'] , $postArr);
                return $result;
        }
        /**
         * 查询额度
         *
         *  查询地址
         */
        public function queryBalance() {
                global $chuanglan_config;
                //查询参数
                $postArr = array (
                          'account' => $chuanglan_config['api_account'],
                          'pswd' => $chuanglan_config['api_password'],
                );
                $result = $this->curlPost($chuanglan_config['api_balance_query_url'], $postArr);
                return $result;
        }
        /**
         * 处理返回值
         *
         */
        public function execResult($result){
                $result=preg_split("/[,\r\n]/",$result);
                return $result;
        }
        /**
         * 通过CURL发送HTTP请求
         * @param string $url  //请求URL
         * @param array $postFields //请求参数
         * @return mixed
         */
        private function curlPost($url,$postFields){
                $postFields = http_build_query($postFields);
                $ch = curl_init ();
                curl_setopt ( $ch, CURLOPT_POST, 1 );
                curl_setopt ( $ch, CURLOPT_HEADER, 0 );
                curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
                curl_setopt ( $ch, CURLOPT_URL, $url );
                curl_setopt ( $ch, CURLOPT_POSTFIELDS, $postFields );
                $result = curl_exec ( $ch );
                curl_close ( $ch );
                return $result;
        }
        //魔术获取
        public function __get($name){
                return $this->$name;
        }
        //魔术设置
        public function __set($name,$value){
                $this->$name=$value;
        }
}
?>代码转自:https://www.e253.com


太阳http代理AD
回复

使用道具 举报