php实现阿里云发送短信

php实现阿里云API发送短信,复制就可使用

<?php
/**
 * 
 */
class test
{
	
	public $accessid = "";
    public $accesssecret = '';
    public $gatewayUrl = "http://dysmsapi.aliyuncs.com/";

    public    $format = "JSON";
    protected $signatureMethod  = "HMAC-SHA1";
    protected $regionId         = "cn-hangzhou";
    protected $signatureVersion = "1.0";
    protected $version          = "2017-05-25";
    protected $action           = "SendSms";

 protected function getSign($params)
    {
        ksort($params);
        $stringToSign = "";
        foreach ($params as $k => $v){
            $stringToSign .= "&"."$k=" . urlencode($v);
        }
        $stringToSign = "POST&%2F&".urlencode(substr($stringToSign, 1));
        return base64_encode(hash_hmac('sha1', $stringToSign, 'VBo3X8RDhgoK7NKMcfoWhCLb2si1ym'."&", true));
    }

    public function curl($url, $postFields = null)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
        $reponse = curl_exec($ch);
        curl_close($ch);
        return $reponse;
    }

    public function test()
    {
        $data["accessid"]       = $this->accessid;
        $data["PhoneNumbers"]       = '';
        $data["SignName"]       = '阿里云';
        $data["TemplateParam"]       = '{"name":"我是测试数据","code":"123456"}';
        $data["TemplateCode"]       = 'SMS_XXXXXXXXXX';
        $data["RegionId"]          = $this->regionId;
        $data["Format"]            = $this->format;
        $data["SignatureMethod"]   = $this->signatureMethod;
        $data["SignatureVersion"]  = $this->signatureVersion;
        $data["Action"]            = $this->action;
        $data["Version"]           = $this->version;
        date_default_timezone_set("GMT");
        $data["SignatureNonce"]    = uniqid();
        $data["Timestamp"]         = date("Y-m-d\TH:i:s\Z");

        $data["Signature"]         = $this->getSign(array_merge($data));
        $resp = $this->curl($this->gatewayUrl, array_merge($data));
        $respObject = json_decode($resp, true);

        return $respObject;
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值