簡訊驗證介面

2021-10-24 13:09:12 字數 3141 閱讀 6905

1.1註冊賬號

1.2登入即可看到開發者賬號資訊

1.3新增測試賬號

'''1. 安裝容聯雲sdk'''

pip install ronglian_sms_sdk

'''2. 簡訊傳送**'''

# libs/rl_sms.py

from ronglian_sms_sdk import smssdk

accid =

'8a216da8747ac98201749c0de38723b7'

acctoken =

'86072b540b4648229b27400414150ef2'

'8a216da8747ac98201749c0de45123be'

defsend_message

(phone, datas)

: tid =

'1'# 測試模板id為: 1. 內容為: 【雲通訊】您的驗證碼是,請於分鐘內正確輸入。

# mobile = '13303479527'

# datas = ('666777', '5')

# 模板中的引數按照位置傳遞

resp = sdk.sendmessage(tid, phone, datas)

return resp

3.1verifications/urls.py中新增路由
urlpatterns =

[ path(

'sms_codes/'

, views.smscodeview.as_view())

,]

3.2寫試圖函式
# verifications/views.py

from rest_framework.permissions import allowany

from rest_framework.views import apiview

from rest_framework.response import response

import re

import random

from utils.rl_sms import send_message

class

smscodeview

(apiview)

:# 1. 所有人可以訪問

permission_classes =

(allowany,

)def

post

(self, request)

:# 1. 獲取引數

phone = request.data.get(

'phone'

) image_code = request.data.get(

'image_code'

) image_code_uuid = request.data.get(

'image_code_uuid'

)# 2. 檢查引數

ifnot

all(

[phone, image_code, image_code_uuid]):

return response()if

not re.match(r'^1[3456789]\d$'

, phone)

:return response(

)# 3. 檢查是否傳送

redis_client = get_redis_connection(

'img_code'

) phone_exists = redis_client.get(phone)

if phone_exists:

return response(

) redis_image_code = redis_client.get(image_code_uuid)

# bytes

if redis_image_code:

# bytes 轉成 string

redis_image_code = redis_image_code.decode(

)# 比較使用者提供的內容是否和redis中儲存的一致

if image_code.upper(

)!= redis_image_code:

return response(

)# 4. 傳送

code =

'%06d'

% random.randint(0,

999999

)# 隨機6位驗證碼

send_resp = send_message(phone,

(code,

"5")

)# 5.1 儲存code 到 redis中

# redis_client.setex(phone, 60 * 5, code)# phone:code, 5分鐘有效期

# 5.2 從redis中刪除這個驗證碼, 以防再次被使用

# redis_client.delete(image_code_uuid)

# 5.3 使用 pipeline 批量操作

pl = redis_client.pipeline(

) pl.setex(phone,60*

5, code)

pl.delete(image_code_uuid)

pl.execute(

)# 6. 返回結果

return response(

)

# 6. 返回結果

return response()

發簡訊介面獲取驗證碼

介面合作公司 從這裡獲取id 簡訊介面使用者名稱 uid uid tclkj02234 簡訊介面密碼 passwd passwd 731765 傳送到的目標手機號碼 telphone telphone 1863525 簡訊內容 message message 這是一條測試資訊111111 xx fi...

驗證碼簡訊介面如何使用

安裝驗證碼簡訊介面其實很簡單,就是用你運用的程式語言傳送乙個帶引數的http請求就可以了。然後在http請求位址裡,將簡訊帳號密碼和要測試的手機號及簡訊中的變數新增上去就可以傳送了,簡訊帳號 userpass 密碼 mobiles 測試的手機號 content 簡訊中的變數 codeid 3396 ...

簡訊驗證碼後端 介面設計

介面檢視 實現 傳送簡訊驗證碼可以使用容聯雲通訊實現 生成簡訊驗證碼 class smscodeview view def get self,request,mobile 注意 image code id就是uuid image code request.get.get image code uui...