七牛:一篇玩轉七牛CDN時間戳防盜鏈———python版
阿新 • • 發佈:2019-01-01
文章目錄
前言
七牛文件配置時間戳防盜鏈較為複雜,這裡專門寫一份簡單版卻五臟俱全的小白文件,旨在交流,同時學習。
Github地址:https://github.com/Haley123/qiniu/blob/master/time_chain.py
一、七牛portal配置
直接使用系統生成的主key和備key。
但是填寫好後,有個問題,檢查url沒有,無法確認!
不急,我們繼續下一步。
二、使用python生成時間戳防盜鏈url
七牛API已經封裝好了相關的API介面,所以我們可以很方便的使用API介面去實現時間戳的演算法。
首先,安裝好七牛的官網庫。
執行以下命令:
pip install qiniu
這裡我們需要使用qiniu庫的兩個方法,Auth和 create_timestamp_anti_leech_url,其中Auth是七牛物件儲存生成各種安全憑證所用(上傳,下載,管理憑證),而create_timestamp_anti_leech_url就是我們用來生成時間戳防盜鏈url的方法了,傳入所需的引數,會返回一個經過時間戳加密的url。
如下:
# -*- coding: utf-8 -*- from qiniu import Auth, create_timestamp_anti_leech_url # AK,SK,初始化 access_key = 'your_AK' secret_key = 'your_SK' q = Auth(access_key, secret_key) # 配置時間戳防盜鏈的引數 host = '七牛空間繫結域名' file_name = '需要加密的檔名' encrypt_key = 'CDN後臺生成key,主key和備key皆可' deadline = 3600 # 連結有效期時間戳(以秒為單位) query_string = '' try: ''' create_timestamp_anti_leech_url(host, file_name, query_string, encrypt_key, deadline) Args: host: 帶訪問協議的域名 file_name: 原始檔名,不需要urlencode query_string: 查詢引數,不需要urlencode encrypt_key: 時間戳防盜鏈金鑰 deadline: 連結有效期時間戳(以秒為單位) Returns: 帶時間戳防盜鏈鑑權訪問連結 ''' url_time = create_timestamp_anti_leech_url(host, file_name, query_string, encrypt_key, deadline) print('http://'+url_time) except: print('生成防盜鏈url錯誤')
執行結果如下:
http:// domain/key?sign=c588f001eba796758a603e1296683a4e&t=e10
注:
- domain是繫結域名
- key是空間檔名
三、完成
將使用程式碼生成的url直接寫入 “檢查url” 中即可,這個時候就可以點選確定了。
done!