快速开始¶
下面使用示例代码的均以flask框架为例.
安装GeetestSDK¶
$ sudo python setup.py install
初始化验证¶
在调用GeetestLib前请自行设定公钥和私钥:
captach_id = "你的公钥"
private_key = "你的私钥"
根据自己的私钥出初始化验证
@app.route('/getcaptcha', methods=["GET"])
def get_captcha():
gt = GeetestLib(captach_id, private_key)
status, response_str = gt.pre_process()
session[gt.GT_STATUS_SESSION_KEY] = gt
return response_str
上述代码是一般验证初始化的代码,因为现在我们服务提供完备的服务宕机方案,所以推荐直接使用我们的宕机方案,也可以换成你们自己的方案,根据返回的 status 自行处理.
二次验证¶
@app.route('/validate', methods=["POST"])
def validate_capthca():
gt = GeetestLib(captcha_id, private_key)
status = session[gt.GT_STATUS_SESSION_KEY]
challenge = request.form[gt.FN_CHALLENGE]
validate = request.form[gt.FN_VALIDATE]
seccode = request.form[gt.FN_SECCODE]
gt = GeetestLib(captcha_id, private_key)
result = gt.validate(status, challenge, validate, seccode)
return result
如果不想采用极验提供的failback方案,你可以自己处理,代码如下
@app.route('/validate', methods=["POST"])
def validate_capthca():
status = session[GeetestLib.GT_STATUS_SESSION_KEY]
if status:
gt = GeetestLib(captcha_id, private_key)
challenge = request.form[gt.FN_CHALLENGE]
validate = request.form[gt.FN_VALIDATE]
seccode = request.form[gt.FN_SECCODE]
result = gt.success_validat(challenge, validate, seccode)
else:
#你们自己的验证方法
return result