• python项目_使用极验验证码


    1.下载和安装验证码模块包

    git clone https://github.com/GeeTeam/gt3-python-sdk.git

    2.安装依赖模块

    pip install requests -i https://pypi.douban.com/simple

    3.使用极验验证技术

    # Create your views here.
    from rest_framework.views import APIView
    from luffyapi.libs.geetest import GeetestLib
    from rest_framework.response import Response
    from django.conf import settings
    
    class GeetestCaptchaAPIView(APIView):
        """极验验证码视图类"""
        def __init__(self):
            super().__init__()
    
            self.gt = GeetestLib(settings.GEETEST["pc_geetest_id"], settings.GEETEST["pc_geetest_key"])
            self.user_id = "test"
            self.status = False
    
        def get(self,request):
            """获取验证码"""
            self.status = self.gt.pre_process(self.user_id)
            # 将来可以使用redis来保存status和user_id
            response_str = self.gt.get_response_str()
            return Response(response_str)
    
        def post(self,request):
            """验证码二次验证"""
            challenge = request.data.get(self.gt.FN_CHALLENGE, '')
            validate = request.data.get(self.gt.FN_VALIDATE, '')
            seccode = request.data.get(self.gt.FN_SECCODE, '')
            if self.status:
                result = self.gt.success_validate(challenge, validate, seccode, self.user_id)
            else:
                result = self.gt.failback_validate(challenge, validate, seccode)
            result = {"status": "success"} if result else {"status": "fail"}
            return Response(result)

    4.在settings.dev下设置配置(这个配置是为了以后方便调整,统一管理的作用)

    # 极验验证码
    GEETEST = {
        "pc_geetest_id": "e951ba436ca7c3f6192615f006d0b2ae",
        "pc_geetest_key": "fba7357abd64ff84132bd520834afe4e",
    }

    #极验验证码,每个人的id 和key都是不一样的,千万不要直接使用
  • 相关阅读:
    面向过程
    生成器
    迭代器
    装饰器
    函数及嵌套
    字符编码与文件操作
    linux_ssh
    LNMP
    BZOJ 3238: [Ahoi2013]差异
    BZOJ 3998: [TJOI2015]弦论
  • 原文地址:https://www.cnblogs.com/jalen-123/p/13169047.html
Copyright © 2020-2023  润新知