API | Operation | Description |
Setting bucket referer configuration | Sets a bucket referer allowlist or blocklist | |
Querying bucket referer configuration | Queries a bucket referer allowlist or blocklist |
using COSXML.Model.Tag;using COSXML.Model.Bucket;using COSXML.Auth;using System;using COSXML;namespace COSSnippet{public class BucketRefererModel {private CosXml cosXml;BucketRefererModel() {CosXmlConfig config = new CosXmlConfig.Builder().SetRegion("COS_REGION") // Set the default region. For abbreviations of COS regions, visit https://www.tencentcloud.com/document/product/436/6224?from_cn_redirect=1..Build();string secretId = "SECRET_ID"; // SecretId of the TencentCloud API. For more information about how to obtain the API key, see https://console.tencentcloud.com/cam/capi.string secretKey = "SECRET_KEY"; // SecretKey of the TencentCloud API. For more information about how to obtain the API key, see https://console.tencentcloud.com/cam/capi.long durationSecond = 600; // Validity period of the request signature in secondsQCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId,secretKey, durationSecond);this.cosXml = new CosXmlServer(config, qCloudCredentialProvider);}/// Set bucket hotlink protectionpublic void PutBucketReferer(){//.cssg-snippet-body-start:[put-bucket-cors]try{// Bucket name in the format of `BucketName-APPID`. You can get APPID by referring to https://console.tencentcloud.com/developer.string bucket = "examplebucket-1250000000";PutBucketRefererRequest request = new PutBucketRefererRequest(bucket);// Set the hotlink protection ruleRefererConfiguration configuration = new RefererConfiguration();// Whether to enable hotlink protection. Enumerated values: `Enabled`, `Disabled`configuration.Status = "Enabled";// Hotlink protection type. Enumerated values: `Black-List`, `White-List`configuration.RefererType = "White-List";// List of domain names in the blocklist/allowlist. Using a prefix to specify multiple domains is supported. Domain names and IPs with ports are supported. A wildcard (*) is supported for second-level or multi-level domains.configuration.domainList = new DomainList();// A single domain name, for example, `www.qq.com/example`, `192.168.1.2:8080`, or `*.qq.com`configuration.domainList.AddDomain("*.domain1.com");configuration.domainList.AddDomain("*.domain2.com");// Whether to allow access with an empty referer. Enumerated values: `Allow`, `Deny` (default)configuration.EmptyReferConfiguration = "Deny";request.SetRefererConfiguration(configuration);// Execute the requestPutBucketRefererResult result = cosXml.PutBucketReferer(request);// Request succeededConsole.WriteLine(result.GetResultInfo());}catch (COSXML.CosException.CosClientException clientEx){// Request failedConsole.WriteLine("CosClientException: " + clientEx);}catch (COSXML.CosException.CosServerException serverEx){// Request failedConsole.WriteLine("CosServerException: " + serverEx.GetInfo());}//.cssg-snippet-body-end}/// Get the bucket hotlink protection rulepublic void GetBucketReferer(){//.cssg-snippet-body-start:[get-bucket-cors]try{// Bucket name in the format of `BucketName-APPID`. You can get APPID by referring to https://console.tencentcloud.com/developer.string bucket = "examplebucket-1250000000";GetBucketRefererRequest request = new GetBucketRefererRequest(bucket);// Execute the requestGetBucketRefererResult result = cosXml.GetBucketReferer(request);Console.WriteLine(result.GetResultInfo());// Status parameterConsole.WriteLine(result.refererConfiguration.Status);// Referer list typeConsole.WriteLine(result.refererConfiguration.RefererType);// Domain names in the listforeach (string domain in result.refererConfiguration.domainList.domains){Console.WriteLine(domain);}}catch (COSXML.CosException.CosClientException clientEx){// Request failedConsole.WriteLine("CosClientException: " + clientEx);}catch (COSXML.CosException.CosServerException serverEx){// Request failedConsole.WriteLine("CosServerException: " + serverEx.GetInfo());}//.cssg-snippet-body-end}// .cssg-methods-pragmastatic void Main(string[] args){BucketRefererModel m = new BucketRefererModel();/// Set the CORS rules for the bucketm.PutBucketReferer();/// Get the CORS rules of the bucketm.GetBucketReferer();// .cssg-methods-pragma}}}
Was this page helpful?