通常情况下给,我们在注册时需要填写手机号并验证,这种情况就需要我们通过短信发送一个验证码给您,然后您在有效时间内通过验证码注册成功。
前后端分离的状态下,短信接入时,因为后端需要通过用户提交的验证码需要做校验,所以短信应该发给后端。
这里我是用的是容联云通讯,它在开通账户后可以提供部分费用的免费测试。
1、URL
我们在使用的时候需要向完整的url发送一个https的请求。其中accountSid就是你注册时的个人账户id。funcodes我们就使用本身的TemplateSMS?,SigParameter就需要我们根据人家的要求来写出代码完成。
import datetime
import hashlib
class Sms():
base_url = 'https://app.cloopen.com:8883'
def __init__(self,accountSid,accountToken):
self.accountSid = accountSid # 账户id
self.accountToken = accountToken # 授权令牌
def get_request_url(self,sig):
# /2013-12-26/Accounts/{accountSid}/SMS/{funcdes}?sig={SigParameter}
self.url = self.base_url +f'/2013-12-26/Accounts/{self.accountSid}/SMS/TemplateSMS?sig={sig}'
return self.url
def get_timestamp(self):
# 生成时间戳
return datetime.datetime.now().strftime('%Y%m%d%H%M%S')
def get_sig(self,timestamp):
# 生成业务url的sig
s = self.accountSid + self.accountToken + timestamp
m = hashlib.md5()
m.update(s.encode())
return m.hexdigest().upper()
def run(self):
timestamp = self.get_timestamp()
sig = self.get_sig(timestamp)
url = self.get_request_url(sig=sig)
print(url