CORS允许web端的应用程序访问不属于本域的资源。OSS提供接口方便开发者控制跨域访问的权限。关于CORS的更多内容,请参考
设定CORS规则
下面的代码设置了一条CORS规则:
- # -*- coding: utf-8 -*-
- import oss2
- from oss2.models import BucketCors, CorsRule
- auth = oss2.Auth('您的AccessKeyId', '您的AccessKeySecret')
- bucket = oss2.Bucket(auth, '您的Endpoint', '您的Bucket名')
- rule = CorsRule(allowed_origins=['*'],
- allowed_methods=['GET', 'HEAD'],
- allowed_headers=['*'],
- max_age_seconds=1000)
- bucket.put_bucket_cors(BucketCors([rule]))
获取CORS规则
- try:
- cors = bucket.get_bucket_cors()
- except oss2.exceptions.NoSuchCors:
- print('cors is not set')
- else:
- for rule in cors.rules:
- print('AllowedOrigins={0}'.format(rule.allowed_origins))
- print('AllowedMethods={0}'.format(rule.allowed_methods))
- print('AllowedHeaders={0}'.format(rule.allowed_headers))
- print('ExposeHeaders={0}'.format(rule.expose_headers))
- print('MaxAgeSeconds={0}'.format(rule.max_age_seconds))
删除CORS规则
- bucket.delete_bucket_cors()