DEFAULT_TIMEOUT
DEFAULT_TIMEOUT = 5.0
Class VolcengineGateway.
$config : \Overtrue\EasySms\Support\Config
$options : array
$timeout : float
send(\Overtrue\EasySms\Contracts\PhoneNumberInterface $to, \Overtrue\EasySms\Contracts\MessageInterface $message, \Overtrue\EasySms\Support\Config $config) : mixed
\Overtrue\EasySms\Contracts\PhoneNumberInterface | $to | |
\Overtrue\EasySms\Contracts\MessageInterface | $message | |
\Overtrue\EasySms\Support\Config | $config |
getStringToSign(mixed $canonicalRequest) : string
创建签名字符串 签名字符串主要包含请求以及正规化请求的元数据信息,由签名算法、请求日期、信任状和正规化请求哈希值连接组成,伪代码如下: StringToSign = Algorithm + '\n' + RequestDate + '\n' + CredentialScope + '\n' + HexEncode(Hash(CanonicalRequest))
mixed | $canonicalRequest |
getCanonicalHeaders(\Psr\Http\Message\RequestInterface $request) : array
指代正规化后的Header。 其中伪代码如下: CanonicalHeaders = CanonicalHeadersEntry0 + CanonicalHeadersEntry1 + ... + CanonicalHeadersEntryN 其中CanonicalHeadersEntry = Lowercase(HeaderName) + ':' + Trimall(HeaderValue) + '\n' Lowcase代表将Header的名称全部转化成小写,Trimall表示去掉Header的值的前后多余的空格。 特别注意:最后需要添加"\n"的换行符,header的顺序是以headerName的小写后ascii排序。
\Psr\Http\Message\RequestInterface | $request |
getCanonicalQueryString(array $query) : string
urlencode(注:同RFC3986方法)每一个querystring参数名称和参数值。 按照ASCII字节顺序对参数名称严格排序,相同参数名的不同参数值需保持请求的原始顺序。 将排序好的参数名称和参数值用=连接,按照排序结果将“参数对”用&连接。 例如:CanonicalQueryString = "Action=ListUsers&Version=2018-01-01"
array | $query |
request(string $method, string $endpoint, array $options = []) : \Psr\Http\Message\ResponseInterface|array|string
Make a http request.
string | $method | |
string | $endpoint | |
array | $options | http://docs.guzzlephp.org/en/latest/request-options.html |
getSigningKey() : string
计算签名密钥 在计算签名前,首先从私有访问密钥(Secret Access Key)派生出签名密钥(signing key),而不是直接使用私有访问密钥。具体计算过程如下: kSecret = *Your Secret Access Key* kDate = HMAC(kSecret, Date) kRegion = HMAC(kDate, Region) kService = HMAC(kRegion, Service) kSigning = HMAC(kService, "request") 其中Date精确到日,与RequestDate中YYYYMMDD部分相同。