全部产品
云市场

Python服务端SDK集成

更新时间:2019-06-17 15:35:08

前提条件

  • 已为您的阿里云账号创建AccessKey。
  • 已从云盾人机验证控制台下载Python服务端SDK包。
  • 服务端开发环境为Python 2.7或以上版本。

安装SDK

将下载的python_sdk.zip压缩包解压至服务端任意目录,需要确保具有读取权限。

注意事项

  • 与人机验证服务端SDK相关的类都在com.aliyuncs.IAcsClient包中。
  • SDK调用接口的默认连接超时时间是3秒,读取超时时间是80秒。您可以调用带有connectTimeout和readTimeout的构造方法来自定义设置SDK调用接口的连接超时时间和读取超时时间。

初始化IClientProfile

IClientProfile是与人机验证服务端交互的接口,所有SDK的操作都需要通过IClientProfile完成。

说明:IClientProfile可以复用,建议将其设置成应用程序全局唯一。

  1. from aliyunsdkcore import client
  2. from aliyunsdkafs.request.v20180112 import AuthenticateSigRequest
  3. from aliyunsdkcore.profile import region_provider
  4. region_provider.add_endpoint('afs', 'cn-hangzhou', 'afs.aliyuncs.com')
  5. # YOUR ACCESS_KEY、YOUR ACCESS_SECRET请替换成您的阿里云accesskey id和secret
  6. clt = client.AcsClient('YOUR ACCESSKEY', 'YOUR ACCESS_SECRET', 'cn-hangzhou')

调用人机验证服务端接口

IClientProfile完成后,即可调用AnalyzeNvcRequest接口,根据业务需要开发前端页面请求的处理类和对运行结果的处理方式。

  1. request = AnalyzeNvcRequest.AnalyzeNvcRequest()
  2. # 必填参数,由前端获取getNVCVal方法获得的值。
  3. request.set_Data('xxx')
  4. # 通过set_ScoreJsonStr方法声明"服务端调用人机验证服务接口得到的返回结果"与"前端执行操作"间的映射关系,并通知验证码服务端进行二次验证授权。
  5. # 注意:前端页面必须严格按照该映射关系执行相应操作,否则将导致调用异常。
  6. # 例如,在set_ScoreJsonStr方法中声明"400":"SC",则当服务端返回400时,您的前端必须唤醒刮刮卡验证(SC),如果唤醒滑块验证(NC)则将导致失败。
  7. request.set_ScoreJsonStr('{"200":"PASS","400":"NC","600":"SC","700":"LC","800":"BLOCK"}');
  8. result = clt.do_action(request)
  9. print result