网易云短信PHP代码实现

<?php
class Auth
{
	const APP_KEY = 'your key';
	const APP_SECRET = 'your secret';
	/**
	 * 发送验证码
	 */
	public function sendSmsCode($mobile = '')
	{
		$url = "https://api.netease.im/sms/sendcode.action";
		$data=['mobile'=>$mobile];
		$res = $this -> _initRequest($url,$data);
		echo $res;
	}
	/**
	 * 验证码的校验成功返回200
	 * @param  string $mobile [description]
	 * @param  string $code   [description]
	 * @return [type]         [description]
	 */
	public function verifyCode($mobile = '',$code = '')
	{
		$url = "https://api.netease.im/sms/verifycode.action";
		$data = [
				'mobile'=>$mobile,
				'code' =>$code
			];
			$res = $this -> _initRequest($url,$data);
			echo $res;
	}
	/** 初始化头信息 */
	private function _initHeader()
	{
		date_default_timezone_set('Asia/Shanghai');
		$appKey = self::APP_KEY;
        $appSecret = self::APP_SECRET;
		$nonce = rand(10000,99999);
        $curTime = time();
        $checkSum = sha1($appSecret . $nonce . $curTime);
		$header = [
                    'Content-Type:application/x-www-form-urlencoded;charset=utf-8',
                    "AppKey:$appKey",
                    "Nonce:$nonce",
                    "CurTime:$curTime",
                    "CheckSum:$checkSum"
                ];
        return $header;
	}
	/**
	 * 利用curl发送
	 */
	private function _initRequest($url = '',$data = '')
	{
		
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_POST, true);//post请求
		curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($data));//http_build_query生成 URL-encode 之后的请求字符串
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_HTTPHEADER, $this->_initHeader());
		$res = curl_exec($ch);
		curl_close($ch);
		return $res;
	}

}

简单的class实现,有啥一起讨论

转载于:https://my.oschina.net/u/3054299/blog/805102

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值