概述及资源

该SDK是为使用Python作为服务端语言的服务器使用的,其中极验3.0验证安全系统的Python SDK目前提供基于flask, tornado框架的DEMO。

环境需求

条目
兼容性 兼容python2和python3, 建议python2.7+
sdk依赖 setuptools,requests,json
运行demo 需要安装Web框架对应的库(Django,tornadotornadosession,flask

您可以使用pip install -r requirement.txt 一键安装所有环境。

资源下载

条目
产品结构流程 通讯流程
SDK下载链接 gt3-python-sdk

安装

下载SDK

使用命令从Github获取

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

手动下载获取

使用从github下载.zip文件获取最新的sdk

Github: gt3-python-sdk

引入SDK

您也许需要使用sudo命令才能执行下列命令

确认您已经成功安装所有环境后,使用以下命令即可一键安装SDK。

python setup.py install

在您的项目中使用以下代码导入极验3.0验证安全系统 Python SDK

from geetest import GeetestLib

配置接口

GeetestLib共有四个接口,分别是:

  1. 预处理接口pre_process
  2. 获取验证字符串接口get_response_str
  3. 二次验证接口success_validate
  4. 本地二次验证接口failback_validate

在调用GeetestLib前请正确配置从极验3.0后台注册获取的公钥(id)和私钥(key), 用户id为可选上传参数

captach_id = "你的公钥"
private_key = "你的私钥"

代码示例

初始化及获取字符串(API1)

class PcGetCaptchaHandler(SessionBaseHandler):
def get(self):
user_id = 'test'
gt = GeetestLib(pc_geetest_id, pc_geetest_key)
status = gt.pre_process(user_id)
if not status:
status=2
self.session[gt.GT_STATUS_SESSION_KEY] = status
self.session["user_id"] = user_id
response_str = gt.get_response_str()
self.write(response_str)

二次验证及宕机(API2)

class PcAjaxValidateHandler(SessionBaseHandler):
def post(self):
gt = GeetestLib(pc_geetest_id, pc_geetest_key)
challenge = self.get_argument(gt.FN_CHALLENGE, "")
validate = self.get_argument(gt.FN_VALIDATE, "")
seccode = self.get_argument(gt.FN_SECCODE, "")
status = self.session[gt.GT_STATUS_SESSION_KEY]
user_id = self.session["user_id"]
if status==1:
result = gt.success_validate(challenge, validate, seccode, user_id)
else:
result = gt.failback_validate(challenge, validate, seccode)
self.session["user_id"] = user_id
result = {"status":"success"} if result else {"status":"fail"}
self.write(json.dumps(result))

运行demo

您也许需要使用sudo命令才能执行下列命令

flask demo运行

进入flask_demo文件夹,运行:

$ python start.py

在浏览器中访问http://localhost:5000即可看到Demo界面。

tornado demo运行

进入tornado_demo文件夹,运行:

$ python start.py

在浏览器中访问http://localhost:8088即可看到Demo界面