本文介紹如何在Python V2.0 SDK中配置HTTPS及其TLS版本。
Python V2.0 SDK支援配置HTTP(S),以便根據實際情況選擇使用HTTP或HTTPS,建議優先使用HTTPS。若未進行配置,則預設使用HTTPS。此外,當配置HTTPS時,還支援指定TLS的最低版本,以滿足更高的安全性、合規性和相容性。
說明
SDK中預設支援的TLS版本包括TLSv1、TLSv1.1、TLSv1.2以及TLSv1.3。
程式碼範例:
import os
from alibabacloud_tea_openapi.models import Config
from Tea.core import TLSVersion
config = Config(
access_key_id=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'),
access_key_secret=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
endpoint='<ENDPOINT>',
protocol='HTTPS', # 通過 HTTPS 協議發送請求
tls_min_version=str(TLSVersion.TLSv1_2) # 指定TLS版本
)
重要
使用HTTPS協議訪問OpenAPI時,SDK會預設開啟校正SSL/TLS認證有效性,若您代碼環境沒有認證環境,則會報錯認證校正失敗。
為保障生產環境通訊安全,建議您保持開啟,若在測試環境必須忽略認證校正,可以通過運行時參數ignore_ssl
設定:
import os
from alibabacloud_ecs20140526.client import Client as EcsClient
from alibabacloud_ecs20140526.models import DescribeRegionsRequest
from alibabacloud_tea_openapi.models import Config
from alibabacloud_tea_util.models import RuntimeOptions
config = Config(
access_key_id=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'),
access_key_secret=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
endpoint='ecs-cn-hangzhou.aliyuncs.com',
protocol='HTTPS' # 通過 HTTPS 協議發送請求
)
ecs_client = EcsClient(config)
runtimeOptions = RuntimeOptions(
ignore_ssl=True # 忽略對 SSL 憑證的驗證,預設驗證
)
request = DescribeRegionsRequest()
response = ecs_client.describe_regions_with_options(request, runtimeOptions)
print(response.body)