华为云短信验证码
public static function hwySms($tel, $code){$url = "https://smsapi.cn-north-4.myhuaweicloud.com:443/sms/batchSendSms/v1"; //APP接入地址(在控制臺"應用管理"頁面獲取)+接口訪問URI$APP_KEY = CfgService::getVal('huaweiyun_sms_accesskey'); //APP_Key$APP_SECRET = CfgService::getVal('huaweiyun_sms_accesskeysercet'); //APP_Secret$sender = '***'; //國內短信簽名通道號或國際/港澳臺短信通道號$TEMPLATE_ID = CfgService::getVal('huaweiyun_sms_code');//模板ID$signature = "華為云短信測試"; //簽名名稱$client = new Client();try {$response = $client->request('POST', $url, ['form_params' => ['from' => $sender,'to' => $tel,'templateId' => $TEMPLATE_ID,'templateParas' => "[\"" . $code . "\"]",'signature' => $signature],'headers' => [
// 'Content-Type'=>'application/x-www-form-urlencoded','Authorization' => 'WSSE realm="SDP",profile="UsernameToken",type="Appkey"','X-WSSE' => self::buildWsseHeader($APP_KEY, $APP_SECRET)],'verify' => false]);Log::error('---------------response------' . $response->getBody());// return json_decode($response ->getBody(),true);return $response->getBody();} catch (RequestException $e) {throw $e;}}/*** 構造X-WSSE參數值* @param string $appKey* @param string $appSecret* @return string*/public static function buildWsseHeader(string $appKey, string $appSecret){$now = date('Y-m-d\TH:i:s\Z'); //Created$nonce = uniqid(); //Nonce$base64 = base64_encode(hash('sha256', ($nonce . $now . $appSecret))); //PasswordDigestreturn sprintf("UsernameToken Username=\"%s\",PasswordDigest=\"%s\",Nonce=\"%s\",Created=\"%s\"",$appKey, $base64, $nonce, $now);}
總結
- 上一篇: 金海佳学C++primer 练习9.14
- 下一篇: 抑郁症维持期治疗应维持多久?如何管理患者