PythonのWebフレームワークFlask-- SMS確認コード

次のコードは、独自のプロジェクトについての例であり、関連するテキストはほとんど、主にコードのコメントですべてを説明していません。

私たちは、いくつかの準備作業を行う必要があり、ここで自分の道を見つけるだろう、初めてなので、上のアリを伝えるためにSMSサービスを使用しました:

  1、ない自己登録アカウントの友人がない、クラウドアリの公式ウェブサイトに自分のアカウントにログイン

  2、ナビゲーションバーの「ショートメッセージサービス」の検索は、何らのは、管理コンソールを入力し、「無料のオープン」ボタンが追加されなければならない(私たちはSMSサービス部門を追加する必要があり、そのようなコンソールは、このSMSサービスモジュールを持っていない)、管理コンソールページ:

 

 

 

 

   成功したエントリは、それ自体が重要なのAPI IDとシークレットを生成します後3は、APIキーが追加されます。

 

 

   最初の画像上4.「テンプレートの追加」「署名を追加」と、あなたが追加した情報は、あなたが関係者を確認する必要があります。テンプレートを追加する場合があります:

 

 

 

  (それはテストのために使用されるため)5、再充電することを忘れないで、すべての手順を完了し、赤の5ドルはそれの十分なはずです

  (aliyun-のpython-SDK-コアをインストールPIP:aliyun-のpython-SDK-コアv3`のpython2の友人をインストールPIPのpython3の友人が必要)6、今行って準備がコピーして、次のコードを貼り付けています

  図7に示すように、インタフェースは、SMS APIを送信するように構成されました

aliyunsdkcore.client 輸入AcsClient
 から aliyunsdkcore.request 輸入CommonRequest


クラスAlidayu(オブジェクト
    ):""」
    APIインタフェースの初期化動作
    accessKeyId:キー入力のID API
    accessSecret:入り口パスワードAPIキー
    regionId:クラウドサーバーの一般的な領域
    以上三个参数必不可少,封装成客户端实例
    发送配置(都是固定的配置)分别是发送短信的格式、域名、方式、协议、版本
    """
    def __init__(self):
        self.accessKeyId = "你的密钥入口id"
        self.accessSecret = "你的密钥入口secret"
        self.regionId = "cn-shanghai"   # 一般是上海或者杭州
        self.client = AcsClient(self.accessKeyId, self.accessSecret, self.regionId)

        # 发送配置(都是固定的配置)
        self.comRequest = CommonRequest()
        self.comRequest.set_accept_format("json")
        self.comRequest.set_domain("dysmsapi.aliyuncs.com")
        self.comRequest.set_method("POST")
        self.comRequest.set_protocol_type("https")
        self.comRequest.set_version("2017-05-25")

    def send_sms(self, telephone, code):
        """
        发送配置定义好,现在就是发送信息(验证码)
        发送信息之前的四个参数也是必不可少的:
        手机号码、短信签名名称、短信模板CODE、短信模板的内容参数值
        最后通过客户发送即可
        :param telephone: 手机号码
        :param code: 随机验证码
        :return:
        """
        self.comRequest.set_action_name("SendSms")
        self.comRequest.add_query_param("PhoneNumbers", "你的手机号码")
        self.comRequest.add_query_param("SignName", "你的短信签名名称")
        self.comRequest.add_query_param("TemplateCode", "你的模板CODE")
        # 这个是你配置的短信模板的内容里的参数名称,变量名一定要一样
        self.comRequest.add_query_param("TemplateParam", "{\"code\":\"%s\"}" % code)
        response = self.client.do_action(self.comRequest)
        print(response)
        return response

  8、编写一个视图函数,通过url访问就可以了

@bp.route("/sms_captcha")
def sms_captcha():
    telephone = request.args.get("telephone")
    if not telephone:
        return restful.params_error(message="请输入手机号码")

    # 借用图形验证码类中的获取随机验证码的方法
    captcha = Captcha.gene_text(numbers=4).replace(" ", "")
    # 上面的代码你可以删掉,把telephone换成具体的手机号码,captcha换成具体的验证码值
    alidayu = Alidayu()
    if alidayu.send_sms(telephone, captcha):
        # 可以print打印一下验证
        return restful.success()
    else:
        return restful.params_error(message="验证码发送失败!")

 

おすすめ

転載: www.cnblogs.com/aitiknowledge/p/11669114.html