
就是這玩意,很好用的!
七牛雲對象存儲開啓私人空間後,又開啓了時間戳防盜鏈,如何獲取下載鏈接?
當七牛雲對象存儲的私人空間開啓了時間戳鑑定後,獲取下載鏈接需要在生成臨時下載鏈接時加入時間戳參數。以下是具體步驟:
- 獲取私人空間的下載域名
在七牛雲後臺中,選擇對應的存儲空間,進入“域名設置”頁,找到私有空間的下載域名(如:http(s)://<domain>),記下該地址備用。
- 生成下載鏈接
使用七牛雲 PHP SDK 中的 Auth 類,根據下載鏈接的過期時間、文件名和時間戳等參數,生成帶時間戳的臨時下載鏈接。示例代碼如下:
<?php
require 'vendor/autoload.php';
use Qiniu\Auth;
use \Qiniu\Cdn\CdnManager;
$accessKey = '';
$secretKey = '';
// 構建Auth對象
$auth = new Auth($accessKey, $secretKey);
//創建時間戳防盜鏈
//時間戳防盜鏈密鑰,後臺獲取
$encryptKey = '';
//帶訪問協議的域名
$url2 = 'http://***.4s5.cn/test/370009-2.png';
//有效期時間(單位秒)
$signedUrl1 = $auth->privateDownloadUrl($url2);
$durationInSeconds = 60;
$signedUrl = CdnManager::createTimestampAntiLeechUrl($signedUrl1, $encryptKey, $durationInSeconds);
print($signedUrl);這段代碼是使用七牛雲 PHP SDK 實現時間戳防盜鏈的功能。下面是代碼的解析:
首先,通過
require 'vendor/autoload.php';引入所需的依賴文件。使用命名空間
use Qiniu\Auth;和use \Qiniu\Cdn\CdnManager;導入 Auth 類和 CdnManager 類。定義了訪問密鑰的 Access Key 和 Secret Key,需要將其替換爲真實的值。
創建 Auth 對象,並傳入 Access Key 和 Secret Key 來進行身份驗證。
定義了時間戳防盜鏈的密鑰
encryptKey,需要從七牛雲後臺獲取並替換爲真實的值。定義了帶訪問協議的域名
url2,需要將其替換爲真實的值。該域名是私有空間文件的訪問地址。通過調用
$auth->privateDownloadUrl($url2)方法生成私有空間文件的下載鏈接signedUrl1,該鏈接是未經時間戳防盜鏈處理的。定義了有效期時間
durationInSeconds,單位爲秒,表示時間戳防盜鏈鏈接的有效期限。調用
CdnManager::createTimestampAntiLeechUrl($signedUrl1, $encryptKey, $durationInSeconds)方法,將私有空間文件的下載鏈接signedUrl1、時間戳防盜鏈密鑰encryptKey和有效期時間durationInSeconds作爲參數傳入,生成具有時間戳防盜鏈功能的下載鏈接signedUrl。使用
print($signedUrl);打印輸出生成的時間戳防盜鏈下載鏈接。
需要注意的是,該段代碼中的 Access Key、Secret Key、encryptKey 和 url2 需要替換爲真實的值。如果缺少依賴庫,請確保已安裝相關依賴並引入正確的文件。