跨域访问

最后更新时间:2020-04-27 18:43:35

    简介

    本文档提供关于跨域访问的 API 概览以及 SDK 示例代码。

    API 操作名 操作描述
    PUT Bucket cors 设置跨域配置 设置存储桶的跨域名访问权限
    GET Bucket cors 查询跨域配置 查询存储桶的跨域名访问配置信息
    DELETE Bucket cors 删除跨域配置 删除存储桶的跨域名访问配置信息

    设置跨域配置

    1. 如果要在前端修改跨域访问配置,需要该存储桶本身支持跨域,您可以在控制台进行跨域访问配置,详情请参见 快速入门 文档。
    2. 在修改跨域访问配置时,请注意不要影响到当前的 Origin 下的跨域请求。

    功能说明

    设置存储桶的跨域名访问权限,您可以通过传入 XML 格式的配置文件来实现配置,文件大小限制为64KB。默认情况下,存储桶的持有者直接有权限使用该 API 接口,存储桶持有者也可以将权限授予其他用户。

    请求示例

    cos.putBucketCors({
        Bucket: 'examplebucket-1250000000', /* 必须 */
        Region: 'COS_REGION',     /* 存储桶所在地域,必须字段 */
        CORSRules: [{
            "AllowedOrigin": ["*"],
            "AllowedMethod": ["GET", "POST", "PUT", "DELETE", "HEAD"],
            "AllowedHeader": ["*"],
            "ExposeHeader": ["ETag", "x-cos-acl", "x-cos-version-id", "x-cos-delete-marker", "x-cos-server-side-encryption"],
            "MaxAgeSeconds": "5"
        }]
    }, function(err, data) {
        console.log(err || data);
    });

    参数说明

    参数名称                 描述 类型 是否必填
    Bucket 设置跨域配置的存储桶,格式:BucketName-APPID String
    Region 存储桶所在地域,枚举值请参见 地域和访问域名 String
    CORSRules 说明跨域资源共享配置的所有信息列表 ObjectArray
    - ID 配置规则的 ID String
    - AllowedMethods 允许的 HTTP 操作,枚举值:GET、PUT、HEAD、POST、DELETE 等 StringArray
    - AllowedOrigins 允许的访问来源,支持通配符*,格式为:协议://域名[:端口],例如:http://www.qq.com StringArray
    - AllowedHeaders 在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用哪些自定义的 HTTP 请求头部,支持通配符* StringArray
    - ExposeHeaders 设置浏览器可以接收到的来自服务器端的自定义头部信息 StringArray
    - MaxAgeSeconds 设置 OPTIONS 请求得到结果的有效期 String

    回调函数说明

    function(err, data) { ... }
    参数名             参数描述 类型
    err 请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码 文档 Object
    - statusCode 请求返回的 HTTP 状态码,例如200、403、404等 Number
    - headers 请求返回的头部信息 Object
    data 请求成功时返回的对象,如果请求发生错误,则为空 Object
    - statusCode 请求返回的 HTTP 状态码,例如200、403、404等 Number
    - headers 请求返回的头部信息 Object

    查询跨域配置

    功能说明

    GET Bucket cors 接口实现查询存储桶的跨域名访问配置信息。(CORS 是一个 W3C 标准,全称是"跨域资源共享"(Cross-origin Resource Sharing))。默认情况下,存储桶的持有者直接有权限使用该 API 接口,存储桶持有者也可以将权限授予其他用户。

    请求示例

    cos.getBucketCors({
        Bucket: 'examplebucket-1250000000', /* 必须 */
        Region: 'COS_REGION',     /* 存储桶所在地域,必须字段 */
    }, function(err, data) {
        console.log(err || data);
    });

    返回示例

    {
        "CORSRules": [{
            "MaxAgeSeconds": "5",
            "AllowedOrigins": ["*"],
            "AllowedHeaders": ["*"],
            "AllowedMethods": ["GET", "POST", "PUT", "DELETE", "HEAD"],
            "ExposeHeaders": ["ETag", "Content-Length", "x-cos-acl", "x-cos-version-id", "x-cos-request-id", "x-cos-delete-marker", "x-cos-server-side-encryption"]
        }],
        "statusCode": 200,
        "headers": {}
    }

    参数说明

    参数名 参数描述 类型 是否必填
    Bucket 查询跨域配置的存储桶,格式:BucketName-APPID String
    Region 存储桶所在地域,枚举值请参见 地域和访问域名 String

    回调函数说明

    function(err, data) { ... }
    参数名                        参数描述 类型
    err 请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码 文档 Object
    data 请求成功时返回的对象,如果请求发生错误,则为空 Object
    - CORSRules 说明跨域资源共享配置的所有信息列表 ObjectArray
    - - AllowedMethods 允许的 HTTP 操作,枚举值:GET、PUT、HEAD、POST、DELETE StringArray
    - - AllowedOrigins 允许的访问来源,支持通配符*,格式为:协议://域名[:端口]
    例如:http://www.qq.com
    StringArray
    - - AllowedHeaders 在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用哪些自定义的 HTTP 请求头部,支持通配符* StringArray
    - - ExposeHeaders 设置浏览器可以接收到的来自服务器端的自定义头部信息 StringArray
    - - MaxAgeSeconds 设置 OPTIONS 跨域信息缓存秒数 String
    - - ID 配置规则的 ID String

    删除跨域配置

    功能说明

    删除存储桶的跨域名访问配置信息。

    1. 删除当前存储桶的跨域访问配置信息,会导致所有请求跨域失败,请谨慎操作。
    2. 不推荐在浏览器端使用该方法。

    请求示例

    cos.deleteBucketCors({
        Bucket: 'examplebucket-1250000000', /* 必须 */
        Region: 'COS_REGION',     /* 存储桶所在地域,必须字段 */
    }, function(err, data) {
        console.log(err || data);
    });

    参数说明

    参数名 参数描述 类型 是否必填
    Bucket 被删除跨域配置的存储桶,格式:BucketName-APPID String
    Region 存储桶所在地域,枚举值请参见 地域和访问域名 String

    回调函数说明

    function(err, data) { ... }
    参数名            参数描述 类型
    err 请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码 文档 Object
    - statusCode 请求返回的 HTTP 状态码,例如200、403、404等 Number
    - headers 请求返回的头部信息 Object
    data 请求成功时返回的对象,如果请求发生错误,则为空 Object
    - statusCode 请求返回的 HTTP 状态码,例如200、403、404等 Number
    - headers 请求返回的头部信息 Object

    Was this page helpful?

    本页内容是否解决了您的问题?

    • 完全没帮助
    • 文档较差
    • 文档一般
    • 文档不错
    • 文档很好
    反馈
    帮助