简介
本文档提供关于自定义域名的 API 概览以及 SDK 示例代码。
API | 操作名 | 操作描述 |
PUT Bucket domain | 设置自定义域名 | 设置存储桶的自定义域名信息 |
GET Bucket domain | 查询自定义域名 | 查询存储桶的自定义域名信息 |
SDK API 参考
设置自定义域名
功能说明
PUT Bucket domain 用于为存储桶配置自定义域名。
示例代码
Objective-C
QCloudPutBucketDomainRequest *req = [QCloudPutBucketDomainRequest new];// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucketreq.bucket = @"examplebucket-1250000000";QCloudDomainConfiguration *config = [QCloudDomainConfiguration new];QCloudDomainRule *rule = [QCloudDomainRule new];// 源站状态,可选 QCloudDomainStatueEnabled、 QCloudDomainStatueDisabledrule.status = QCloudDomainStatueEnabled;// 域名信息rule.name = @"www.baidu.com";// 替换已存在的配置、有效值 CNAME/TXT 填写则强制校验域名所有权之后,再下发配置rule.replace = QCloudCOSDomainReplaceTypeTxt;rule.type = QCloudCOSDomainTypeRest;// 规则描述集合的数组config.rules = @[rule];// 域名配置的规则req.domain = config;[req setFinishBlock:^(id outputObject, NSError *error) {// outputObject 包含所有的响应 http 头部NSDictionary* info = (NSDictionary *) outputObject;}];[[QCloudCOSXMLService defaultCOSXML]PutBucketDomain:req];
说明
Swift
let req = QCloudPutBucketDomainRequest.init();// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucketreq.bucket = "examplebucket-1250000000";let config = QCloudDomainConfiguration.init();let rule = QCloudDomainRule.init();// 开启状态,可选 .enabled, .disabledrule.status = .enabled;rule.name = "www.baidu.com";// 替换已存在的配置、有效值 CNAME/TXT 填写则强制校验域名所有权之后,再下发配置rule.replace = .txt;rule.type = .rest;// 规则描述集合的数组config.rules = [rule];// 域名配置的规则req.domain = config;req.finishBlock = {(result,error) inif let result = result {// result 包含响应的 header 信息} else {print(error!);}}QCloudCOSXMLService.defaultCOSXML().putBucketDomain(req);
说明
返回错误码说明
该请求可能会发生的一些常见的特殊错误如下:
状态码 | 说明 |
HTTP 409 Conflict | 该域名记录已存在,且请求中没有设置强制覆盖。或者该域名记录不存在,且请求中设置了强制覆盖 |
HTTP 451 Unavailable For Legal Reasons | 该域名是中国境内域名,并且没有备案 |
查询自定义域名
功能说明
GET Bucket domain 用于查询存储桶的自定义域名信息。
示例代码
Objective-C
QCloudGetBucketDomainRequest *getReq = [QCloudGetBucketDomainRequest new];// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucketgetReq.bucket = @"examplebucket-1250000000";[getReq setFinishBlock:^(QCloudDomainConfiguration * _Nonnull result,NSError * _Nonnull error) {// 规则描述集合的数组NSArray *rules = result.rules;}];[[QCloudCOSXMLService defaultCOSXML]GetBucketDomain:getReq];
说明
Swift
let req = QCloudGetBucketDomainRequest.init();// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucketreq.bucket = "examplebucket-1250000000";req.finishBlock = {(result,error) inif let result = result {// result 包含源站信息} else {print(error!);}}QCloudCOSXMLService.defaultCOSXML().getBucketDomain(req);
说明
返回参数说明
参数名称 | 描述 | 类型 |
x-cos-domain-txt-verification | 域名校验信息,该字段是一个 MD5 校验值,原串格式为: cos[Region][BucketName-APPID][BucketCreateTime] ,其中 Region 为存储桶所在地域,BucketCreateTime 为存储桶 GMT 创建时间 | String |