因瀏覽器的同源策略限制,在不同網域名稱之間進行資料互動或者資源共用時,會出現跨域請求被拒絕的問題。本文介紹如何通過設定允許特定的網域名稱、方法和要求標頭的跨域存取原則,解決跨域問題。
注意事項
本文範例程式碼以華東1(杭州)的地區ID
cn-hangzhou為例,預設使用外網Endpoint,如果您希望通過與OSS同地區的其他阿里雲產品訪問OSS,請使用內網Endpoint。關於OSS支援的Region與Endpoint的對應關係,請參見OSS地區和訪問網域名稱。要設定跨域規則,您必須有
oss:PutBucketCors許可權;要擷取跨域規則,您必須有oss:GetBucketCors許可權;要刪除跨域規則,您必須有oss:DeleteBucketCors許可權。具體操作,請參見為RAM使用者授予自訂的權限原則。
方法定義
設定跨域資源共用規則
put_bucket_cors(request: PutBucketCorsRequest, **kwargs) → PutBucketCorsResult擷取跨域資源共用規則
get_bucket_cors(request: GetBucketCorsRequest, **kwargs) → GetBucketCorsResult刪除跨域資源共用規則
delete_bucket_cors(request: DeleteBucketCorsRequest, **kwargs) → DeleteBucketCorsResult請求參數列表
參數名 | 類型 | 說明 |
request | PutBucketCorsRequest | 佈建要求參數,具體請參見PutBucketCorsRequest |
GetBucketCorsRequest | 佈建要求參數,具體請參見GetBucketCorsRequest | |
DeleteBucketCorsRequest | 佈建要求參數,具體請參見DeleteBucketCorsRequest |
傳回值列表
類型 | 說明 |
PutBucketCorsResult | 傳回值,具體請參見PutBucketCorsResult |
GetBucketCorsResult | 傳回值,具體請參見GetBucketCorsResult |
DeleteBucketCorsResult | 傳回值,具體請參見DeleteBucketCorsResult |
關於設定跨域資源共用規則的完整定義,請參見put_bucket_cors。
關於擷取跨域資源共用規則的完整定義,請參見get_bucket_cors。
關於刪除跨域資源共用規則的完整定義,請參見delete_bucket_cors。
範例程式碼
相關文檔
關於跨域資源共用的常見報錯排查,請查閱34-CORS。
關於設定跨域規則的完整範例程式碼,請參見put_bucket_cors.py。
關於擷取跨域規則的完整範例程式碼,請參見get_bucket_cors.py。
關於刪除跨域規則的完整範例程式碼,請參見delete_bucket_cors.py。