gpt4 book ai didi

php - 如何单独创建一个预签名的 URL 查询参数?

转载 作者:行者123 更新时间:2023-12-05 07:49:52 28 4
gpt4 key购买 nike

目前我正在生成经过身份验证的 URL 为:

$this->s3Client = new S3Client($this->options);
$cmd = $this->s3Client->getCommand('GetObject', [
'Bucket' => $bucket_name,
'Key' => $object_key
]);
$request = $this->s3Client->createPresignedRequest($cmd, PRESIGNED_URL_VALIDITY);
$presignedUrl = (string) $request->getUri();

有没有一种方法可以在不使用 createPresignedRequest 的情况下自行在经过身份验证的 URL 中生成查询参数。

我需要单独创建:

?X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=
&X-Amz-Date=20130721T201207Z
&X-Amz-Expires=86400
&X-Amz-SignedHeaders=host
&X-Amz-Signature=<signature-value>

并将其附加到存储桶文件路径以使其成为预签名请求。

最佳答案

我不太清楚“我自己在经过身份验证的 URL 中生成查询参数”是什么意思。 AWS 使用 OpenSSL处理生成签名和构建签名 URL。

您可以完全不使用 PHP 创建签名 URL,例如在 Linux 命令行上使用 openssl 命令。检查此以获取 bash 示例:https://github.com/gdbtek/aws-tools/blob/master/sign_s3_url.bash .

您还可以使用不带 S3Client 的 PHP,使用 PHP OpenSSL extension 生成签名 URL并利用 openssl_* 函数。

关于php - 如何单独创建一个预签名的 URL 查询参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36859869/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com