实现阿里云短信验证

点击此处创建AccessKey和Access Key Secret
在这里插入图片描述
获取签名名称和模板code

在这里插入图片描述
安装所需包
pip install aliyun-python-sdk-core

写一个工具方法代码如下:

# 短信服务
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest

ACCESS_KEY_ID = "LTAI4G2bWREvNJ4B5PwCqAcj"  #AccessKey
ACCESS_KEY_SECRET = "r85JfHPJQnqFuPX1lGxJM3hSwG9za5"  # Access Key Secret


class SMS:
    def __init__(self, signName, templateCode):
        self.signName = signName
        self.templateCode = templateCode
        self.client = client = AcsClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET, 'cn-hangzhou')

    def send(self, phone_numbers, template_param):
        request = CommonRequest()
        request.set_accept_format('json')
        request.set_domain('dysmsapi.aliyuncs.com')
        request.set_method('POST')
        request.set_protocol_type('https')  # https | http
        request.set_version('2017-05-25')
        request.set_action_name('SendSms')

        request.add_query_param('RegionId', "cn-hangzhou")
        request.add_query_param('PhoneNumbers', phone_numbers)
        request.add_query_param('SignName', self.signName)
        request.add_query_param('TemplateCode', self.templateCode)
        request.add_query_param('TemplateParam', template_param)
        response = self.client.do_action_with_exception(request)
        return response


# 发送短信的人
sms = SMS("梅朵的app", "SMS_195580026")

在Views中调用工具方法

from random import randint

class Aliyun_Sms(APIView):
    def get(self,request):
        # 生成验证码
        params = "{'code':%d}"%(randint(1000,100000))
        para = request.GET.get('phone_numbers')
        res = sms.send(para,params)
        return HttpResponse(res)

至此,便完成了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring MVC 实现阿里云 SMS 验证通常涉及以下几个步骤: 1. **集成 SDK**:首先需要在项目中引入 Alibaba Cloud 的 SMS SDK,这通常是通过 Maven 或者 Gradle 的依赖管理来完成。 ```xml <!-- Maven --> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-sms</artifactId> <version>版本号</version> </dependency> // Gradle implementation 'com.aliyun:aliyun-java-sdk-sms:版本号' ``` 2. **配置短信服务**:在 Spring Boot 中,需要设置 AccessKey 和 SecretKey 来初始化短信服务。可以在 `application.properties` 或者 `application.yml` 文件中配置。 ```properties sms.accessKeyId=yourAccessKeyId sms.accessKeySecret=yourAccessKeySecret sms.regionId=yourRegionId ``` 3. **创建控制器**:创建一个 Spring MVC 控制器,该控制器包含发送验证码的方法。例如: ```java import com.aliyuncs.IottsClient; import com.aliyuncs.auth.AcsAuthException; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.http.HttpResponse; import com.aliyuncs.iottts.model.v20150906.SendSmsRequest; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class SmsVerificationController { @PostMapping("/send-verification-code") public String sendVerificationCode(@RequestParam("mobile") String mobile) { IottsClient iottsClient = new IottsClient(); try { // 初始化请求 SendSmsRequest request = new SendSmsRequest(); request.setPhoneNumbers(mobile); request.setSignName("Your Sign Name"); request.setTemplateCode("Your Template Code"); // 发送请求 HttpResponse response = iottsClient.sendSms(request); // 返回响应信息或处理验证码发送成功的情况 return "success"; } catch (AcsAuthException | ClientException e) { // 处理异常 return "error"; } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值