最近在学习制作一个全栈项目,其中在注册界面涉及到了使用短信验证码的功能。在项目教程的视频中使用的是容联云的短信服务。因为我自己已经注册了阿里云的账号,我不想再注册其他平台的账号(毕竟注册之后大概率会收到客服人员的电话),所以我直接尝试使用阿里云的短信服务。
首先第一步,氪金解决一切问题,先充值一个月的零花钱,因为发送短信需要收费(阿里云测试短信是一条四分)。
在这之后,我们进入个人中心中的AccessKey管理
点击创建AccessKey并保存生成的id和secret
在阿里云短信服务界面点击 免费开通
点击快速学习,学习短信发送
输入用于接受验证码的测试用的手机号并输入验证码绑定手机号
然后点击调用API发送短信。
在左侧我们可以看到几个参数
PhoneNumbers是接受短信的手机号码,在测试阶段我们只能填写之前绑定的手机号。
SignName是接收到的短信的开头部分的标题
TemplateCode是使用的模板,试用只能使用这个初始模板,购买服务后可以定制。
TemplateParam是模板中的变量,这是一个Json数据,其中的code指的是默认模板中的验证码。
我们要在自己的程序中使用该api,选择语言之后下载完整工程并解压到项目相关位置。
打开alibabacloud_sample目录下的sample文件
将access_key_id和access_key_secret改成之前我们创建的id和secret就可以了
通过继承和重写我们就可以发送我们想要发送的随机验证码了
class Sms(Sample):
def main(
args: List[str],
) -> None:
client = Sample.create_client('ACCESS_KEY_ID', 'ACCESS_KEY_SECRET')
send_sms_request = dysmsapi_20170525_models.SendSmsRequest(
sign_name='阿里云短信测试',
template_code='SMS_154950909',
phone_numbers='yourphone',#你所绑定的测试手机号
template_param='{"code":"'+args[0]+'"}'
)
runtime = util_models.RuntimeOptions()
resp = client.send_sms_with_options(send_sms_request, runtime)
ConsoleClient.log(UtilClient.to_jsonstring(resp))