# -*- coding: utf-8 -*- # This file is auto-generated, don't edit it. Thanks. import os import sys import json from typing import List from alibabacloud_dypnsapi20170525.client import Client as Dypnsapi20170525Client from alibabacloud_credentials.client import Client as CredentialClient from alibabacloud_credentials.models import Config as CredentialConfig # 补充正确导入 from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_dypnsapi20170525 import models as dypnsapi_20170525_models from alibabacloud_tea_util import models as util_models from alibabacloud_tea_util.client import Client as UtilClient class Sample: def __init__(self): pass @staticmethod def create_client() -> Dypnsapi20170525Client: """ 使用凭据初始化账号Client @return: Client @throws Exception """ # 方案1:直接传入明文AK/SK(测试用,生产环境禁止) credentialsConfig = CredentialConfig( type='access_key', # 直接传入明文AccessKey ID(替换为你的真实AK) access_key_id='LTAI5tAxWRqns3nK8kR6PsMW', # 直接传入明文AccessKey Secret(替换为你的真实SK) access_key_secret='tZ7ZAn7k1vkY4amavGeloEU0JzHIsb' ) credentialsClient = CredentialClient(credentialsConfig) # 可选:获取凭证详情(普通AK的security_token为None,不影响使用) credential = credentialsClient.get_credential() access_key_id = credential.get_access_key_id() access_key_secret = credential.get_access_key_secret() security_token = credential.get_security_token() # 配置OpenAPI,替换占位符为真实Endpoint config = open_api_models.Config( credential=credentialsClient, endpoint='dypnsapi.aliyuncs.com' # 修正:真实短信验证端点 ) return Dypnsapi20170525Client(config) @staticmethod def main( args: List[str], ) -> None: client = Sample.create_client() send_sms_verify_code_request = dypnsapi_20170525_models.SendSmsVerifyCodeRequest( sign_name='速通互联验证码', template_code='100001', phone_number='17536133913', template_param='{"code":"##code##","min":"5"}' ) runtime = util_models.RuntimeOptions() try: resp = client.send_sms_verify_code_with_options(send_sms_verify_code_request, runtime) print(json.dumps(resp, default=str, indent=2)) except Exception as error: # 增强:避免空指针异常 print(error.message) if error.data: print(error.data.get("Recommend")) @staticmethod async def main_async( args: List[str], ) -> None: client = Sample.create_client() send_sms_verify_code_request = dypnsapi_20170525_models.SendSmsVerifyCodeRequest( sign_name='速通互联验证码', template_code='100001', phone_number='19922573675', template_param='{"code":"##code##","min":"5"}' ) runtime = util_models.RuntimeOptions() try: resp = await client.send_sms_verify_code_with_options_async(send_sms_verify_code_request, runtime) print(json.dumps(resp, default=str, indent=2)) except Exception as error: # 增强:避免空指针异常 print(error.message) if error.data: print(error.data.get("Recommend")) if __name__ == '__main__': Sample.main(sys.argv[1:])