云服务器内容精选
-
代码示例 本示例用于删除名为examplebucket桶的CORS规则。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; public class DeleteBucketCors001 { public static void main(String[] args) { // 您可以通过环境变量获取访问密钥AK/SK,也可以使用其他外部引入方式传入。如果使用硬编码可能会存在泄露风险。 // 您可以登录访问管理控制台获取访问密钥AK/SK String ak = System.getenv("AC CES S_KEY_ID"); String sk = System.getenv("SECRET_ACCESS_KEY_ID"); // 【可选】如果使用临时AK/SK和SecurityToken访问OBS,同样建议您尽量避免使用硬编码,以降低信息泄露风险。 // 您可以通过环境变量获取访问密钥AK/SK/SecurityToken,也可以使用其他外部引入方式传入。 // String securityToken = System.getenv("SECURITY_TOKEN"); // endpoint填写桶所在的endpoint, 此处以华北-北京四为例,其他地区请按实际情况填写。 String endPoint = "https://obs.cn-north-4.myhuaweicloud.com"; // 您可以通过环境变量获取endPoint,也可以使用其他外部引入方式传入。 //String endPoint = System.getenv("ENDPOINT"); // 创建ObsClient实例 // 使用永久AK/SK初始化客户端 ObsClient obsClient = new ObsClient(ak, sk,endPoint); // 使用临时AK/SK和SecurityToken初始化客户端 // ObsClient obsClient = new ObsClient(ak, sk, securityToken, endPoint); try { // 删除跨域规则 obsClient.deleteBucketCors("examplebucket"); System.out.println("deleteBucketCors successfully"); } catch (ObsException e) { System.out.println("deleteBucketCors failed"); // 请求失败,打印http状态码 System.out.println("HTTP Code:" + e.getResponseCode()); // 请求失败,打印服务端错误码 System.out.println("Error Code:" + e.getErrorCode()); // 请求失败,打印详细错误信息 System.out.println("Error Message:" + e.getErrorMessage()); // 请求失败,打印请求id System.out.println("Request ID:" + e.getErrorRequestId()); System.out.println("Host ID:" + e.getErrorHostId()); e.printStackTrace(); } catch (Exception e) { System.out.println("deleteBucketCors failed"); // 其他异常信息打印 e.printStackTrace(); } } }
-
请求参数说明 表1 请求参数列表 参数名称 参数类型 是否必选 描述 request BaseBucketRequest 必选 参数解释: 删除跨域规则请求参数,详见BaseBucketRequest。 表2 BaseBucketRequest 参数名称 参数类型 是否必选 描述 bucketName String 必选 参数解释: 桶名。 约束限制: 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。 桶命名规则如下: 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。 禁止使用IP地址。 禁止以“-”或“.”开头及结尾。 禁止两个“.”相邻(如:“my..bucket”)。 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。 默认取值: 无
-
接口约束 您必须是桶拥有者或拥有删除桶的CORS配置的权限,才能删除桶的CORS配置。建议使用 IAM 或桶策略进行授权,如果使用IAM则需授予obs:bucket:PutBucketCORS权限,如果使用桶策略则需授予PutBucketCORS权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略、自定义创建桶策略。 OBS支持的region以及region与endPoint的对应关系,详细信息请参见地区与终端节点。
-
功能介绍 跨域资源共享(Cross Origin Resource Sharing,CORS)是由W3C标准化组织提出的一种网络浏览器的规范机制,定义了一个域中加载的客户端Web应用程序与另一个域中的资源交互的方式。而在通常的网页请求中,由于同源安全策略(Same Origin Policy,SOP)的存在,不同域之间的网站脚本和内容是无法进行交互的。OBS支持CORS规范,允许跨域请求访问OBS中的资源。 调用删除桶的CORS配置接口,您可删除指定桶的跨域资源共享规则。
-
查看跨域规则 开发过程中,您有任何问题可以在github上提交issue,或者在华为云 对象存储服务 论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 您可以通过ObsClient.getBucketCors查看桶的跨域规则。以下代码展示了如何查看跨域规则: // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量ACCESS_KEY_ID和SECRET_ACCESS_KEY_ID。 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html String ak = System.getenv("ACCESS_KEY_ID"); String sk = System.getenv("SECRET_ACCESS_KEY_ID"); String endPoint = "https://your-endpoint"; // 创建ObsClient实例 ObsClient obsClient = new ObsClient(ak, sk, endPoint); BucketCors cors = obsClient.getBucketCors("bucketname"); for(BucketCorsRule rule : cors.getRules()){ Log.i("GetBucketCors","\t" + rule.getId()); Log.i("GetBucketCors","\t" + rule.getMaxAgeSecond()); Log.i("GetBucketCors","\t" + rule.getAllowedHeader()); Log.i("GetBucketCors","\t" + rule.getAllowedOrigin()); Log.i("GetBucketCors","\t" + rule.getAllowedMethod()); Log.i("GetBucketCors","\t" + rule.getExposeHeader()); } 父主题: 跨域资源共享
-
参数描述 字段名 类型 约束 说明 option 请求桶的上下文,配置option 必选 桶参数。 obs_cors_conf_info obs_bucket_cors_conf * 必选 CORS规则具体内容,具体说明请参看下表。 conf_num unsigned int 必选 数组obs_cors_conf_info的数组成员个数。 handler obs_response_handler* 必选 回调函数。 callback_data void * 可选 回调数据。 CORS规则结构obs_bucket_cors_conf描述如下表: 字段名 类型 约束 说明 id const char * 可选 桶内对象名称。 allowed_method const char ** 必选 CORS规则允许的Method。 allowed_method_number unsigned int 必选 allowed_method的个数。 allowed_origin const char ** 必选 CORS规则允许的Origin(表示 域名 的字符串),可以带一个匹配符“*”。每一个allowedOrigin可以带最多一个“*”通配符。 allowed_origin_number unsigned int 必选 allowed_origin的个数。 allowed_header const char ** 可选 配置CORS请求中允许携带的“Access-Control-Request-Headers”头域。如果一个请求带了“Access-Control-Request-Headers”头域,则只有匹配上AllowedHeader中的配置才认为是一个合法的CORS请求。每一个allowed_header可以带最多一个“*”通配符,不可出现空格。 allowed_header_number unsigned int 可选 allowed_header的个数 max_age_seconds const char * 可选 客户端可以缓存的CORS响应时间,以秒为单位。每个CORS Rule可以包含至多一个max_age_seconds,可以设置为负值。 expose_header const char ** 可选 CORS响应中带的附加头域,给客户端提供额外的信息,不可出现空格。 expose_header_number unsigned int 可选 expose_header的个数。
-
设置跨域规则 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。接口参考文档详细介绍了每个接口的参数和使用方法。 您可以通过ObsClient.SetBucketCors设置桶的跨域规则,如果原规则存在则覆盖原规则。以下代码展示了如何设置跨域规则: // 初始化配置参数 ObsConfig config = new ObsConfig(); config.Endpoint = "https://your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AccessKeyID和SecretAccessKey。 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html string accessKey= Environment.GetEnvironmentVariable("AccessKeyID", EnvironmentVariableTarget.Machine); string secretKey= Environment.GetEnvironmentVariable("SecretAccessKey", EnvironmentVariableTarget.Machine); // 创建ObsClient实例 ObsClient client = new ObsClient(accessKey, secretKey, config); // 设置桶跨域规则 try { SetBucketCorsRequest request = new SetBucketCorsRequest(); request.BucketName = "bucketname"; request.Configuration = new CorsConfiguration(); CorsRule rule = new CorsRule(); rule.Id = "20170820"; // 指定允许跨域请求的来源 rule.AllowedOrigins.Add("http://www.a.com"); rule.AllowedOrigins.Add("http://www.b.com"); // 控制在OPTIONS预取指令中Access-Control-Request-Headers头中指定的header是否被允许使用 rule.AllowedHeaders.Add("x-obs-header"); // 指定允许的跨域请求方法(GET/PUT/DELETE/POST/HEAD) rule.AllowedMethods.Add(HttpVerb.HEAD); rule.AllowedMethods.Add(HttpVerb.PUT); rule.AllowedMethods.Add(HttpVerb.GET); rule.AllowedMethods.Add(HttpVerb.POST); rule.AllowedMethods.Add(HttpVerb.DELETE); // 指定允许用户从应用程序中访问的header rule.ExposeHeaders.Add("x-obs-test1"); rule.ExposeHeaders.Add("x-obs-test2"); rule.MaxAgeSeconds = 100; request.Configuration.Rules.Add(rule); SetBucketCorsResponse response = client.SetBucketCors(request); Console.WriteLine("Set bucket cors response: {0}", response.StatusCode); } catch (ObsException ex) { Console.WriteLine("ErrorCode: {0}", ex.ErrorCode); Console.WriteLine("ErrorMessage: {0}", ex.ErrorMessage); } AllowedOrigins、AllowedMethods、AllowedHeaders都能够最多支持一个“*”通配符。“*”表示对于所有的域来源、操作或者头域都满足。 父主题: 跨域资源共享
-
删除跨域规则 您可以通过deleteBucketCORS删除桶的跨域规则。以下代码展示了如何删除跨域规则: static OBSClient *client; NSString *endPoint = @"your-endpoint"; // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量AccessKeyID和SecretAccessKey。 // 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html char* ak_env = getenv("AccessKeyID"); char* sk_env = getenv("SecretAccessKey"); NSString *AK = [NSString stringWithUTF8String:ak_env]; NSString *SK = [NSString stringWithUTF8String:sk_env]; // 初始化身份验证 OBSStaticCredentialProvider *credentialProvider = [[OBSStaticCredentialProvider alloc] initWithAccessKey:AK secretKey:SK]; //初始化服务配置 OBSServiceConfiguration *conf = [[OBSServiceConfiguration alloc] initWithURLString:endPoint credentialProvider:credentialProvider]; // 初始化client client = [[OBSClient alloc] initWithConfiguration:conf]; // 删除桶的跨域资源配置 OBSDeleteBucketCORSRequest *request = [[OBSDeleteBucketCORSRequest alloc] initWithBucketName:@"bucketname"]; [client deleteBucketCORS:request completionHandler:^(OBSDeleteBucketCORSResponse *response, NSError *error) { NSLog(@"%@",response); }]; 父主题: 跨域资源共享
-
跨域资源共享简介 跨域资源共享(CORS)是由W3C标准化组织提出的一种网络浏览器的规范机制,定义了一个域中加载的客户端Web应用程序与另一个域中的资源交互的方式。而在通常的网页请求中,由于同源安全策略(Same Origin Policy,SOP)的存在,不同域之间的网站脚本和内容是无法进行交互的。 OBS支持CORS规范,允许跨域请求访问OBS中的资源。 CORS的典型应用场景包括: 通过CORS支持,使用JavaScript和HTML5来构建Web应用,直接访问OBS中的资源,而不再需要代理服务器做中转。 使用HTML5中的拖拽功能,直接向OBS上传文件,展示上传进度,或是直接从Web应用中更新内容。 托管在不同域中的外部网页、样式表和HTML5应用,现在可以引用存储在OBS中的Web字体或图片,让这些资源能被多个网站共享。 CORS配置会在两分钟内生效。 父主题: 跨域资源共享
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格