| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 | 
							- <?php
 
- namespace addons\qcloudsms\library;
 
- /**
 
-  * 发送Util类
 
-  *
 
-  */
 
- class SmsSenderUtil
 
- {
 
-     /**
 
-      * 生成随机数
 
-      *
 
-      * @return int 随机数结果
 
-      */
 
-     public function getRandom()
 
-     {
 
-         return rand(100000, 999999);
 
-     }
 
-     /**
 
-      * 生成签名
 
-      *
 
-      * @param string $appkey        sdkappid对应的appkey
 
-      * @param string $random        随机正整数
 
-      * @param string $curTime       当前时间
 
-      * @param array  $phoneNumbers  手机号码
 
-      * @return string  签名结果
 
-      */
 
-     public function calculateSig($appkey, $random, $curTime, $phoneNumbers)
 
-     {
 
-         $phoneNumbersString = $phoneNumbers[0];
 
-         for ($i = 1; $i < count($phoneNumbers); $i++) {
 
-             $phoneNumbersString .= ("," . $phoneNumbers[$i]);
 
-         }
 
-         return hash("sha256", "appkey=".$appkey."&random=".$random
 
-             ."&time=".$curTime."&mobile=".$phoneNumbersString);
 
-     }
 
-     /**
 
-      * 生成签名
 
-      *
 
-      * @param string $appkey        sdkappid对应的appkey
 
-      * @param string $random        随机正整数
 
-      * @param string $curTime       当前时间
 
-      * @param array  $phoneNumbers  手机号码
 
-      * @return string  签名结果
 
-      */
 
-     public function calculateSigForTemplAndPhoneNumbers($appkey, $random,
 
-         $curTime, $phoneNumbers)
 
-     {
 
-         $phoneNumbersString = $phoneNumbers[0];
 
-         for ($i = 1; $i < count($phoneNumbers); $i++) {
 
-             $phoneNumbersString .= ("," . $phoneNumbers[$i]);
 
-         }
 
-         return hash("sha256", "appkey=".$appkey."&random=".$random
 
-             ."&time=".$curTime."&mobile=".$phoneNumbersString);
 
-     }
 
-     public function phoneNumbersToArray($nationCode, $phoneNumbers)
 
-     {
 
-         $i = 0;
 
-         $tel = array();
 
-         do {
 
-             $telElement = new \stdClass();
 
-             $telElement->nationcode = $nationCode;
 
-             $telElement->mobile = $phoneNumbers[$i];
 
-             array_push($tel, $telElement);
 
-         } while (++$i < count($phoneNumbers));
 
-         return $tel;
 
-     }
 
-     /**
 
-      * 生成签名
 
-      *
 
-      * @param string $appkey        sdkappid对应的appkey
 
-      * @param string $random        随机正整数
 
-      * @param string $curTime       当前时间
 
-      * @param array  $phoneNumber   手机号码
 
-      * @return string  签名结果
 
-      */
 
-     public function calculateSigForTempl($appkey, $random, $curTime, $phoneNumber)
 
-     {
 
-         $phoneNumbers = array($phoneNumber);
 
-         return $this->calculateSigForTemplAndPhoneNumbers($appkey, $random,
 
-             $curTime, $phoneNumbers);
 
-     }
 
-     /**
 
-      * 生成签名
 
-      *
 
-      * @param string $appkey        sdkappid对应的appkey
 
-      * @param string $random        随机正整数
 
-      * @param string $curTime       当前时间
 
-      * @return string 签名结果
 
-      */
 
-     public function calculateSigForPuller($appkey, $random, $curTime)
 
-     {
 
-         return hash("sha256", "appkey=".$appkey."&random=".$random
 
-             ."&time=".$curTime);
 
-     }
 
-     /**
 
-      * 生成上传文件授权
 
-      *
 
-      * @param string $appkey        sdkappid对应的appkey
 
-      * @param string $random        随机正整数
 
-      * @param string $curTime       当前时间
 
-      * @param array  $fileSha1Sum   文件sha1sum
 
-      * @return string  授权结果
 
-      */
 
-     public function calculateAuth($appkey, $random, $curTime, $fileSha1Sum)
 
-     {
 
-         return hash("sha256", "appkey=".$appkey."&random=".$random
 
-             ."&time=".$curTime."&content-sha1=".$fileSha1Sum);
 
-     }
 
-     /**
 
-      * 生成sha1sum
 
-      *
 
-      * @param string $content  内容
 
-      * @return string  内容sha1散列值
 
-      */
 
-     public function sha1sum($content)
 
-     {
 
-         return hash("sha1", $content);
 
-     }
 
-     /**
 
-      * 发送请求
 
-      *
 
-      * @param string $url      请求地址
 
-      * @param array  $dataObj  请求内容
 
-      * @return string 应答json字符串
 
-      */
 
-     public function sendCurlPost($url, $dataObj)
 
-     {
 
-         $curl = curl_init();
 
-         curl_setopt($curl, CURLOPT_URL, $url);
 
-         curl_setopt($curl, CURLOPT_HEADER, 0);
 
-         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 
-         curl_setopt($curl, CURLOPT_POST, 1);
 
-         curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 60);
 
-         curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($dataObj));
 
-         curl_setopt($curl, CURLOPT_HTTPHEADER, array(
 
-         'Content-Type: application/json; charset=utf-8',
 
-         'Content-Length: ' . strlen(json_encode($dataObj)))
 
-     );
 
-         curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
 
-         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
 
-         $ret = curl_exec($curl);
 
-         if (false == $ret) {
 
-             // curl_exec failed
 
-             $result = "{ \"result\":" . -2 . ",\"errmsg\":\"" . curl_error($curl) . "\"}";
 
-         } else {
 
-             $rsp = curl_getinfo($curl, CURLINFO_HTTP_CODE);
 
-             if (200 != $rsp) {
 
-                 $result = "{ \"result\":" . -1 . ",\"errmsg\":\"". $rsp
 
-                         . " " . curl_error($curl) ."\"}";
 
-             } else {
 
-                 $result = $ret;
 
-             }
 
-         }
 
-         curl_close($curl);
 
-         return $result;
 
-     }
 
-     /**
 
-      * 发送请求
 
-      *
 
-      * @param string $req  请求对象
 
-      * @return string 应答json字符串
 
-      */
 
-     public function fetch($req)
 
-     {
 
-         $curl = curl_init();
 
-         curl_setopt($curl, CURLOPT_URL, $req->url);
 
-         curl_setopt($curl, CURLOPT_HTTPHEADER, $req->headers);
 
-         curl_setopt($curl, CURLOPT_POSTFIELDS, $req->body);
 
-         curl_setopt($curl, CURLOPT_HEADER, 0);
 
-         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 
-         curl_setopt($curl, CURLOPT_POST, 1);
 
-         curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 60);
 
-         curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
 
-         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
 
-         $result = curl_exec($curl);
 
-         if (false == $result) {
 
-             // curl_exec failed
 
-             $result = "{ \"result\":" . -2 . ",\"errmsg\":\"" . curl_error($curl) . "\"}";
 
-         } else {
 
-             $code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
 
-             if (200 != $code) {
 
-                 $result = "{ \"result\":" . -1 . ",\"errmsg\":\"". $rsp
 
-                     . " " . curl_error($curl) ."\"}";
 
-             }
 
-         }
 
-         curl_close($curl);
 
-         return $result;
 
-     }
 
- }
 
 
  |