AI软件下载
有趣网站推荐及实用软件下载

UE5使用阿里云短信服务实现手机号注册登录短信验证码验证功能方法

尽管使用短信验证功能是要花钱的,考虑到使用邮箱可能没有直接用手机接条短信那么简单,为了方便用户所以放弃了使用邮箱进行注册验证而是使用手机号注册,阿里云的短信服务还便宜点,这里以阿里云的短信功能为例,

阿里云短信服务

开始前你需要有一个服务器,用来配置短信验证的服务器端功能,并开通购买了阿里云的短信服务,然后获取了API AccessKey ID和AccessKey Secret。

我用的是Linux系统,服务器上没安装Python环境的话,先安装Python,这个就比较简单了,网上一搜很多教程,然后配置阿里云的短信验证依赖环境,依次运行如下命令安装,

pip install flask
pip install aliyun-python-sdk-core
pip install aliyun-python-sdk-ecs

安装完成后,创建一个名为SendSMS.py的Python文件,代码如下:

import json,random,flask
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest

# 生成验证码的长度
VerificationLen = 4

def BeginSend(PhoneNum,SignName,TemplateCode):

client = AcsClient(‘你的AccessKey ID’, ‘你的AccessKey Secret’, ‘cn-hangzhou’)
# 生成验证码
authCode = str(random.randint(1000, (10**VerificationLen-1)))
dict = {‘code’: authCode}
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’, PhoneNum)
request.add_query_param(‘SignName’, SignName)
request.add_query_param(‘TemplateCode’, TemplateCode)
# request.add_query_param(‘TemplateParam’, “{‘code’:’5648′}”)
request.add_query_param(‘TemplateParam’, str(dict))
# 请求
response = client.do_action(request)
cjson = json.loads(str(response,’utf-8′))
cjson[‘authCode’] = authCode
print(json.dumps(cjson))
return cjson

# 使用本文件作为服务名
server = flask.Flask(__name__)
# @server.route()可以将普通函数转变为服务 登录接口的路径、请求方式


# 发送短信验证码
@server.route(“/SendM”, methods=[‘post’])
def SendM():
cjson = flask.request.get_json()
PhoneNum = cjson[‘PhoneNum’]
SignName = cjson[‘SignName’]
TemplateCode = cjson[‘TemplateCode’]
resu = BeginSend(PhoneNum,SignName,TemplateCode)
return resu



if __name__ == ‘__main__’:

server.run(debug=True, port=1234, host=’0.0.0.0′) # 指定端口1234,host,0.0.0.0代表任何ip都可以访问

代码中替换你自己的AccessKey ID和AccessKey Secret,将SendSMS.py文件上传到服务器root文件夹或是你需要的其它任何地方,然后运行如下代码启动服务,
nohup python3 SendSMS.py >> ./log.SendSMS 2>&1 &

打开UE5编写代码蓝图节点,由于服务器接收的是JSON格式的数据,所以要先构建待发送的JSON数据,主要是PhoneNum待接收短信的手机号,SignName短信签名名称,阿里云后台你设置的内容,TemplateCode短信模板 Code,也是阿里云后台你设置的内容。这里使用http请求,请求连接为http://你的服务器IP:1234,请求成功后服务器会返回JSON格式的字符串如:{“BizId”:”05108674083612^0″,”Code”:”OK”,”Message”:”OK”,”RequestId”:”B54ED-5AB6-5737-85E1-1B363F8E27″,”authCode”:”7724″},内容包括Code:请求状态码,如OK,authCode:短信验证码,4位数字,你可以解析从服务器收到的JSON字符串,提取出code和authCode值来检测是否成功发送短信,以及验证用户朝软件里输入验证码是否正确,

UE5使用阿里云短信服务实现手机号注册登录短信验证码验证功能方法

如果服务器返回错误的话,可以在终端输入命令:ps -ef | grep SendSMS.py

检查服务是否正常运行

或是运行命令:cat ./log.SendSMS,查看日志具体错误信息


AI软件用不了?2元爽玩4090: 立即体验>>

热门大语言模型API免费体验: 立即获取>>

软件催更及1对1人工答疑支持: https://nuowa.net/1806
赞(0) 打赏
软件无法使用?点击查看常见问题说明>>

最近更新

Claude居然自称“本人”-诺瓦小站

Claude居然自称“本人”

今天在和Claude聊网文写作的时候,Claude回复中居然自称本人,这让我有点震惊。 我经常会和AI聊工具功能对比等话题,ChatGPT、Gemini、Claude这些以前我记得从来没有自称过本人的,好像都是本模型,本工具等等,反正从来没...

免费在线HTML转markdown工具

经常看一些在线文档,想复制给AI参考的话不方便直接复制,转换成markdown再给AI阅读会更简单明了,也方便自己查阅,这里给大家推荐两个在线的免费HTML转markdown网站。 1、https://d1tools.com/tools/c...

LTX2.3+comfyui音频驱动视频生成工作流

这是一个基于 ComfyUI 的 LTX 2.3 音视频同步生成工作流,核心功能是上传一段音频 + 参考图片(可多张图),自动生成与音频内容对应的视频,适合制作人物说话、唱歌等口型同步视频。工作流使用8位量化版ltx2.3模型,显存需求降低...

觉得文章对你有帮助就打赏一下作者

非常感谢你的打赏,我将有更多的动力继续提供优质内容,让我们一起创建更加美好的世界!

支付宝扫一扫

微信扫一扫