控制台指南

最佳实践

开发者指南

API 文档

SDK 文档

有奖征文|投稿上云技术实践,赢取价值5000元大奖> HOT

简介

本文档提供关于存储桶 Referer 白名单或者黑名单的 API 概览以及 SDK 示例代码。

API 操作名 操作描述
PUT Bucket referer 设置存储桶 Referer 设置存储桶 Referer 白名单或者黑名单
GET Bucket referer 查询存储桶 Referer 查询存储桶 Referer 白名单或者黑名单

设置存储桶 Referer

功能说明

设置指定存储桶的 Referer 白名单或者黑名单(PUT Bucket referer)。

方法原型

func (s *BucketService) PutReferer(ctx context.Context, opt *BucketPutRefererOptions) (*Response, error)

请求示例

package main

import (
    "context"
    "github.com/tencentyun/cos-go-sdk-v5"
    "net/http"
    "net/url"
    "os"
)

func main() {
    // 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
    // 替换为用户的 region,存储桶region可以在COS控制台“存储桶概览”查看 https://console.cloud.tencent.com/ ,关于地域的详情见 https://cloud.tencent.com/document/product/436/6224 。
    u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com")
    b := &cos.BaseURL{BucketURL: u}
    client := cos.NewClient(b, &http.Client{
        Transport: &cos.AuthorizationTransport{
            // 通过环境变量获取密钥
            // 环境变量 SECRETID 表示用户的 SecretId,登录访问管理控制台查看密钥,https://console.cloud.tencent.com/cam/capi
            SecretID: os.Getenv("SECRETID"),
            // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.cloud.tencent.com/cam/capi
            SecretKey: os.Getenv("SECRETKEY"),
        },
    })
    opt := &cos.BucketPutRefererOptions{
        Status:      "Enabled",
        RefererType: "White-List",
        DomainList: []string{
            "*.qq.com",
            "*.qcloud.com",
        },
        EmptyReferConfiguration: "Allow",
    }

    _, err := client.Bucket.PutReferer(context.Background(), opt)
}

参数说明

type BucketPutRefererOptions struct {
    Status                  string 
    RefererType             string 
    DomainList              []string 
    EmptyReferConfiguration string
}

参数名 参数描述 类型
Status 是否开启防盗链,枚举值:Enabled、Disabled String
RefererType 防盗链类型,枚举值:Black-List、White-List String
DomainList 生效域名,支持带端口和 IP、支持通配符*, 支持多条 Array
EmptyReferConfiguration 是否允许空 Refer 访问,枚举值: Allow、Deny String

查询存储桶 Referer

功能说明

查询指定存储桶 Referer 白名单或者黑名单(GET Bucket referer)。

方法原型

func (s *BucketService) GetReferer(ctx context.Context) (*BucketGetRefererResult, *Response, error)

请求示例

package main

import (
    "context"
    "fmt"
    "github.com/tencentyun/cos-go-sdk-v5"
    "net/http"
    "net/url"
    "os"
)

func main() {
    // 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
    // 替换为用户的 region,存储桶region可以在COS控制台“存储桶概览”查看 https://console.cloud.tencent.com/ ,关于地域的详情见 https://cloud.tencent.com/document/product/436/6224 。
    u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com")
    b := &cos.BaseURL{BucketURL: u}
    client := cos.NewClient(b, &http.Client{
        Transport: &cos.AuthorizationTransport{
            // 通过环境变量获取密钥
            // 环境变量 SECRETID 表示用户的 SecretId,登录访问管理控制台查看密钥,https://console.cloud.tencent.com/cam/capi
            SecretID: os.Getenv("SECRETID"),
            // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.cloud.tencent.com/cam/capi
            SecretKey: os.Getenv("SECRETKEY"),
        },
    })
    res, _, err := client.Bucket.GetReferer(context.Background())
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(res)
}

返回结果说明

type BucketGetRefererResult struct {
    Status                  string 
    RefererType             string 
    DomainList              []string 
    EmptyReferConfiguration string
}

参数名 参数描述 类型
Status 是否开启防盗链,枚举值:Enabled、Disabled String
RefererType 防盗链类型,枚举值:Black-List、White-List String
DomainList 生效域名,支持带端口和 IP、支持通配符*, 支持多条 Array
EmptyReferConfiguration 是否允许空 Refer 访问,枚举值: Allow、Deny String
目录