所有文档

          内容分发网络 CDN

          域名操作接口

          域名列表查询 ListDomains

          查询该用户账户下拥有的加速域名

          marker := ""                                           
          cli := GetDefaultClient()                          
          domains, nextMarker, err := cli.ListDomains(marker)    
          fmt.Printf("domains:%+v\n", domains)                   
          fmt.Printf("nextMarker:%+v\n", nextMarker)             
          fmt.Printf("err:%+v\n", err)                           

          marker参数表示从这个字符串所代表的索引开始查询域名列表,空表示从头开始。目前服务器处理分页size是一个很大的数,所以使用的时候将marker赋值为空即可。ListDomains返回的nextMarker表示下一个域名列表索引 ,空表示从marker开始之后的域名列表全部被获取,非空可用于传递到ListDomains参数。domains是一个string slice,表示域名列表数据,如: ["1.baidu.com", "2.baidu.com"]

          查询用户名下所有域名 GetDomainStatus

          查询用户名下所有域名和域名状态,可以根据特定状态查询属于这个状态的域名。

          cli := client.GetDefaultClient()   
          status := "ALL"
          domainStatus, err := cli.GetDomainStatus(status, "")     
          fmt.Printf("domainStatus:%+v\n", domainStatus)          
          fmt.Printf("err:%+v\n", err)                            

          status表示域名的状态,如果为ALL,表示查询所有状态的域名,如果为RUNNING查询已经加速的域名,STOPPED查询停止加速的域名,OPERATING查询操作中的域名。 domainStatusDomainStatus类型对象,如下所示:

          字段 类型 说明
          Domain string 域名,如www.baidu.com
          Status string 域名状态,合法值为RUNNINGSTOPPEDOPERATING

          domainStatus的示例数据如:[{"Domain":"1.baidu.com", "Status":"RUNNING"}, {"Domain":"2.baidu.com", "Status":"STOPPED"}]

          查询域名是否可添加 IsValidDomain

          查询特定域名是否可以使用CDN加速,一个可以被添加的域名必须是合法的域名,不可重复添加,必须通过ICP备案。

          cli := client.GetDefaultClient()           
          testDomain := "test_go_sdk.baidu.com"
          domainValidInfo, err := cli.IsValidDomain(testDomain)  
          fmt.Printf("domainValidInfo:%+v\n", domainValidInfo)                
          fmt.Printf("err:%+v\n", err)                                        

          testDomain是要测试的域名,domainValidInfoDomainValidInfo类型对象,表示的是关于是否可添加的详细信息

          字段 类型 说明
          Domain string 域名,如www.baidu.com
          IsValid bool true表示该域名可添加,false表示该域名不可被添加
          Message string 当IsValid为false,表示域名不可被添加的原因;当IsValid为true时,为空

          创建加速域名接口 CreateDomain

          添加一个加速域名到用户名下,该域名在调用IsValidDomain的时候返回必须为true。创建加速域名必须设置源站。

          cli := client.GetDefaultClient()
          domainCreatedInfo, err := cli.CreateDomain("test_go_sdk.baidu.com", &api.OriginInit{
          	Origin: []api.OriginPeer{
          		{
          			Peer:      "1.1.1.1",
          			Host:      "www.baidu.com",
          			Backup:    true,
          			Follow302: true,
          		},
          		{
          			Peer:      "http://2.2.2.2",
          			Host:      "www.baidu.com",
          			Backup:    false,
          			Follow302: true,
          		},
          	},
          	DefaultHost: "www.baidu.com",
          	Form:        "default",
          })
          fmt.Printf("domainCreatedInfo:%+v\n", domainCreatedInfo)
          fmt.Printf("err:%+v\n", err)

          api.OriginPeer表示一个源站,api.OriginInit表示对于这个加速域名的源站配置,包括一个或多个源站,和一个默认的会员host,表示为DefaultHostForm表示加速服务类型,默认为default,其他可选的服务类型有image表示图片小文件,download表示大文件下载,media表示流媒体点播,dynamic表示动静态加速。 源站信息api.OriginPeer的结构如下:

          字段 类型 说明
          Peer string 源站的endpoint,如http://2.2.2.2:9090https://test.baidu.com:9090,源站类型可以为域名形式、IP形式和bucket,示例代码展示的是IP形式的源站类型,需要注意的是一个域名所有的源站必须具有相同的源站类型。如果使用的是默认端口,即HTTP的80和HTTPS的443,CDN系统会将源站视为HTTP和HTTPS两种协议都支持
          Host string 表示回源时在HTTP请求头中携带的Host,如果没有设置则使用DefaultHost
          Backup bool 表示是否为备用源站,备用源站在主源站都不可用的情况下才会使用,false表示这个源站是主源站。需要注意的是在golang中bool对象默认值为false,如果没有显式设置Backup的值,那么默认就是false。
          Follow302 bool true表示当回源到源站时源站返回302时,CDN系统会处理Location重定向,主动获取资源返回给客户端。false表示当源站返回302时,CDN系统透传302给客户端。需要注意的是,目前Follow302已经修改为所有源站级别的配置,所以要求所有的源站Follow302必须一致,否则可能会出现不可预料的结果

          启用/停止/删除加速域名 EnableDomain/DisableDomain/DeleteDomain

          cli := client.GetDefaultClient()      
          testDomain := "test_go_sdk.baidu.com" 
                                                
          // 启用加速域名                             
          err := cli.EnableDomain(testDomain)   
          fmt.Printf("err:%+v\n", err)          
                                                
          // 停用加速域名                             
          err = cli.DisableDomain(testDomain)   
          fmt.Printf("err:%+v\n", err)  
          
          // 删除该用户名下的加速域名
          err = cli.DeleteDomain(testDomain)
          fmt.Printf("err:%+v\n", err)
          上一篇
          CdnClient
          下一篇
          域名配置接口