tencent cloud

文档反馈

防盗链

最后更新时间:2022-01-17 12:44:42

    简介

    本文档提供关于存储桶 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.tencentcloud.com/cos5/bucket
      // 替换为用户的 region,存储桶region可以在COS控制台“存储桶概览”查看 https://console.tencentcloud.com/ ,关于地域的详情见 https://www.tencentcloud.com/document/product/436/6224?from_cn_redirect=1 。
      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.tencentcloud.com/cam/capi
              SecretID: os.Getenv("SECRETID"),
              // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.tencentcloud.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.tencentcloud.com/cos5/bucket
      // 替换为用户的 region,存储桶region可以在COS控制台“存储桶概览”查看 https://console.tencentcloud.com/ ,关于地域的详情见 https://www.tencentcloud.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.tencentcloud.com/cam/capi
              SecretID: os.Getenv("SECRETID"),
              // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.tencentcloud.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
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持