七牛:一篇玩轉七牛CDN時間戳防盜鏈———python版

前言

七牛文檔配置時間戳防盜鏈較爲複雜,這裏專門寫一份簡單版卻五臟俱全的小白文檔,旨在交流,同時學習。
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!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章