七牛:一篇玩转七牛CDN时间戳防盗链———python版

文章目录

  • 前言
  • 一、七牛portal配置
  • 二、使用python生成时间戳防盗链url
  • 三、完成

前言

七牛文档配置时间戳防盗链较为复杂,这里专门写一份简单版却五脏俱全的小白文档,旨在交流,同时学习。
Github地址:https://github.com/Haley123/qiniu/blob/master/time_chain.py

一、七牛portal配置

七牛:一篇玩转七牛CDN时间戳防盗链———python版_第1张图片

七牛:一篇玩转七牛CDN时间戳防盗链———python版_第2张图片

直接使用系统生成的主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” 中即可,这个时候就可以点击确定了。
七牛:一篇玩转七牛CDN时间戳防盗链———python版_第3张图片

done!

你可能感兴趣的:(七牛云)