打码兔网页功能说明验证码识别 远程答题服务 代答平台.docx

上传人:牧羊曲112 文档编号:3538224 上传时间:2023-03-13 格式:DOCX 页数:12 大小:40.93KB
返回 下载 相关 举报
打码兔网页功能说明验证码识别 远程答题服务 代答平台.docx_第1页
第1页 / 共12页
打码兔网页功能说明验证码识别 远程答题服务 代答平台.docx_第2页
第2页 / 共12页
打码兔网页功能说明验证码识别 远程答题服务 代答平台.docx_第3页
第3页 / 共12页
打码兔网页功能说明验证码识别 远程答题服务 代答平台.docx_第4页
第4页 / 共12页
打码兔网页功能说明验证码识别 远程答题服务 代答平台.docx_第5页
第5页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《打码兔网页功能说明验证码识别 远程答题服务 代答平台.docx》由会员分享,可在线阅读,更多相关《打码兔网页功能说明验证码识别 远程答题服务 代答平台.docx(12页珍藏版)》请在三一办公上搜索。

1、打码兔网页功能说明 验证码识别 远程答题服务 代答平台打码兔网页版功能说明 1. 简介 打码兔网页版提供预授权、登陆、注册新用户、查询信息、打码等功能。 除POST图片打码仅支持POST方法外,其他功能都支持POST和GET两种方法。 查询信息和打码前需执行“预授权”请求,以“预授权”返回的预授权信息执行“登陆”请求,成功登陆后返回授权信息,查询和打码请求需附带授权信息。所有请求在成功时都会返回授权信息,该授权信息可用于后续的其他请求。 注册新用户前先执行“预授权”请求,以“预授权”返回的预授权信息执行“注册新用户请求”。 2. 请求参数 请求参数包括: # 参数名 含义 应用ID 软件名。

2、包含的请求 登陆、注册 登陆、注册 登陆、注册 可选参数 用“n”连接预授权信息、用户名、用户密码MD5值,使用压缩的软件KEY对其进行DES加密,扩展成16进制字串 说明 整数。管理后台的软件列表中的“软件ID”。 1. appID 2. sname 3. encinfo 加密信息 4. auth 授权信息 登陆、注册以外 所有请求均会返回该字段,登陆和注册外的其他请求回填该参数。预授权返回的授权信息仅用于登陆和注册。 注册 注册 注册 查询结果、报告错误 打码 打码 打码 通过URL打码 通过URL打码 通过URL打码 需进行URL编码 至少6位数字 整数。由打码请求返回 整数,参考管理后

3、台的价格表。 整数,0不限制。可选参数,默认0 整数,单位秒。可选参数,默认30 进行URL编码,必填 进行URL编码。可选,默认空 进行URL编码。可选,默认空 5. qq 6. email 7. tel 8. id 9. type 10. len 12. url 13. cookie 14. referer QQ号 邮箱 电话号码 验证码ID 验证码类型ID 验证码长度 验证码的URL COOKIE REFERER 11. timeout 验证码超时 3. 响应数据格式 所有请求的结果数据均以JSON格式返回到客户端。 响应数据编码为“UTF-8”。 请求失败时仅返回“ret”和“desc

4、”两个字段。如下所示为打码请求失败的响应数据: ret:-304,desc:余额不足,题分不足 ret指返回码,失败时均为负数; desc为错误描述。 成功时所有请求都会返回“ret”、“desc”、“auth”;打码请求还会返回“id”,用于查询结果;查询打码结果请求还会返回“result”;查询余额请求会返回“balance”;查询用户信息会返回“qq”、“email”、“tel”。 查询余额成功的例子响应数据如下: ret:0,desc:成功,balance:0,auth:1382614466607AuuSuzazOsRziqvnD9NWCKJQzbMiB52bXJhstwX8O1vno

5、h%2FP5SBzLUK0o9o1%2BXXyDfe6lyWdnPsoT%0D%0AFefql2B9aw%3D%3D ret指返回码,成功时为0; balance为余额; auth为返回的授权信息,作为后续调用的参数。 4. 响应字段 # 字段名 含义 返回码 返回的描述信息 包含该字段的的请求 所有 所有 仅成功返回 是 是 是 是 是 是 是 是 预授权返回的该字段仅用于计算“加密信息”参数(encinfo) 说明 1. ret 2. desc 3. auth 授权信息,用于后所有 续请求服务器 验证码ID 验证码文本 用户名 QQ号 邮箱 电话号码 余额 打码请求 查询打码结果 查询用户

6、信息 查询用户信息 查询用户信息 查询用户信息 查询余额 4. id 5. result 6. name 7. qq 8. email 9. tel 10. balance 5. 功能介绍 5.1. 预授权 功能URL::7788/app/preauth 输入参数:无 返回数据:ret,desc,auth(预授信息,仅用于计算加密信息) 5.2. 登陆 功能URL::7788/app/login 输入参数:appID、sname(可选参数)、encinfo 返回数据:ret,desc,auth 5.3. 注册新用户 功能URL::7788/app/register 输入参数:appID、sna

7、me(可选参数)、encinfo、qq、email、tel 返回数据:ret,desc,auth 5.4. 查询用户信息 功能URL::7788/app/readInfo 输入参数:auth 返回数据:ret,desc,auth, name, qq、email、tel 5.5. 查询余额 功能URL::7788/app/getBalance 输入参数:auth 返回数据:ret,desc,auth 5.6. POST文件打码 功能URL::7788/app/decodeURL 输入参数:auth、type、len(可选)、timeout、文件数据 返回数据:ret,desc,aut,id(用于

8、查询结果和报告结果) 5.7. 通过URL打码 功能URL::7788/app/decode 输入参数:auth、type、len(可选)、timeout、url、cookie、referer 返回数据:ret,desc,aut,id 5.8. 查询打码结果 功能URL::7788/app/getResult 输入参数:auth,id 返回数据:ret,desc,result,auth 5.9. 报告结果 功能URL::7788/app/reportError 输入参数:auth,id 返回数据:ret,desc,auth 6. 附录 6.1. 返回码 客户端程序必须特别关注的特殊返回码如下表

9、所示: # 1. 2. 3. 错误码 0 -103 -104 成功 用户不存在 用户密码错 描述 检查用户名 检查用户密码、计算MD5方法、16进制扩展方法 说明 调用成功,可保存返回的auth作为以后请求的参数 4. 5. 6. 7. -206 -303 -304 -9990 没有指定的验证码ID记录 验证码尚未打码完成 余额不足,题分不足 验证码ID错误、指定ID的验证码已删除 调用得到结果时指示需休息片刻再查询验证码结果 及时充值 检查参数upwd:是否用MD5计算密码的摘要信息、摘要信息是否用与appID对应的软件KEY加密、DES加密的KEY是否从软件KEY折半压缩而来、加密结果是否

10、正确扩展16进制字符串 decrypt password error 8. 9. -9991 -9992 appID error uname error upwd error no file id error email error tel error busy invalid auth 检查appID参数 检查uname参数 检查upwd参数 检查是否正确POST文件数据,检查FORM的enctype为“multipart/form-data” 检查id参数 检查email参数 检查tel参数 调用登陆或注册太过频繁 检查auth参数,重新登陆并使用登陆返回的auth作为参数重试 加密信息格

11、式错误,检查:是否为16进制字串、加密KEY算法不对 加密信息超时,请重新进行preauth请求 请求preauth与发送加密信息的请求的IP不一致 10. -9993 11. -9994 12. -9995 13. -9996 14. -9997 15. -10000 16. -10001 17. -10002 18. -10003 19. -10004 encinfo error encinfo timeout ip inconsistent 完整的返回码如下表所示: # 1. 2. 3. 4. 5. 6. 7. 8. 9. 0 -1 -100 -101 -102 -103 -104 -1

12、05 -106 错误码 成功 系统错误 无效软件KEY 黑名单机器信息 黑名单IP 用户不存在 用户密码错 用户被停用 无效服务器类型 无效用户类型 动态码校验失败,需要发送动态码 无效的黑名单类型 参数为空 验证码字符类型校验错误 APPCODETYPEID不存在 CODETYPEID不存在 无效充值卡密 描述 10. -107 11. -108 12. -109 13. -110 14. -111 15. -112 16. -113 17. -114 18. -115 19. -116 20. -117 21. -118 22. -119 23. -200 24. -201 25. -20

13、2 26. -203 27. -204 28. -205 29. -206 30. -300 31. -301 32. -302 33. -303 34. -304 35. -305 36. -306 37. -400 38. -401 39. -402 40. -403 41. -404 42. -406 43. -9990 44. -9991 45. -9992 46. -9993 47. -9994 48. -9995 49. -9996 50. -9997 51. -9998 52. -9999 53. -10000 54. -10001 55. -10002 56. -10003 5

14、7. -10004 58. -10020 59. -10021 60. 其他 无效的验证码结果状态 无效的提现模式 无效软件类型 无效动态验证码发送类型 打码工人选择了错误的字符类型 无负载均衡服务器 均衡服务器未配置 没有配置全客户端类型的版本 没有可用验证码 提交验证码结果时,没有指定的验证码 没有打码工人统计数据 没有指定的验证码ID记录 COOKIE长度溢出 用户名重复 报告验证码结果状态失败 验证码尚未打码完成 余额不足,题分不足 验证码状态不允许 用户动态码发送配置不正确 动态验证码发送超限 动态码超时 功能不支持 发送动态验证码失败 参数非法 用户无权使用该APP decrypt

15、 password error appID error uname error upwd error no file id error email error tel error db name error encrypt key error busy invalid auth encinfo error encinfo timeout ip inconsistent program error db error unknown error 6.2. 加密信息的计算算法 伪代码如下: 伪代码 byte pwd_data = toByteArray(password); byte pwd_md5

16、 = MD5(pwd_data); String pwd_md5_str = byteArray2HexString(pwd_md5); pwd_md5为16字节 32字符的字串 preauth是预授权返回的auth字段 098f6bcd4621d373cade4e832627b4f6 说明 密码为4个字节 结果 1234567890abcdef1234567890abcdef user 098f6bcd4621d373cade4e832627b4f6 String enc_data_str = preauth + “n” + user_name + “n”+ pwd_md5_str; Byt

17、e enc_data = toByteArray(enc_data_str); 0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x61,0x62,0x63,0x64,0x65,0x66,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x61,0x62,0x63,0x64,0x65,0x66,0x0a,0x75,0x73,0x65,0x72,0x0a,0x30,0x39,0x38,0x66,0x36,0x62,0x63,0x64,0x34,0x36,0x32,0x31,0x64,0x33,

18、0x37,0x33,0x63,0x61,0x64,0x65,0x34,0x65,0x38,0x33,0x32,0x36,0x32,0x37,0x62,0x34,0x66,0x36. String key = “9503ce045ad14d83ea876ab578bd3184”; byte key16 = hexString2ByteArraykey16为16个字节 (key); byte key8 = byte16toByte8(key16); byte result_data = DES(key8, enc_data, “PKCS5Padding”); key8为8个字节,是由key16前8

19、个字节分别与后8个字节异或得到 依次为0x95、0x03、0xce、.、0x31、0x84 0x7f,0x84,0xa4,0xb1,0x22,0x6c,0x7c,0x07 a733506fda6e182300d34a1bcca568d8a733506fda6e182300d34a1bcca568d8f6368183d9f688b7a43c783d0184850751f1d013925667735ddd457beaa8da8010b74e6f64b15c4d String result = byteArray2HexString(result_data); a733506fda6e182300d

20、34a1bcca568d8a733506fda6e182300d34a1bcca568d8f6368183d9f688b7a43c783d0184850751f1d013925667735ddd457beaa8da8010b74e6f64b15c4d Java代码如下: private String byteArray2HexString(byte data) StringBuilder sb = new StringBuilder; for (byte b : data) String s = Integer.toHexString(b & 0xff); if (s.length = 1)

21、sb.append(0 + s); else sb.append(s); return sb.toString; String password = test; /用户密码明文 /压缩软件KEY为8字节,用作DES加密的KEY byte key16 = hexString2ByteArray(9503ce045ad14d83ea876ab578bd3184); byte key8 = new byte8; for (int i = 0; i 8; i+) key8i = (byte)(key16i key16i + 8) & 0xff); String result = null; byte

22、data = password.getBytes; try java.security.MessageDigest md5 = java.security.MessageDigest.getInstance(MD5); md5.update(data, start, len); data = md5.digest; pwd_md5_str = byteArray2HexString(data); /转为16进制字符串 String enc_data_str = preauth + “n” + user_name + “n” + pwd_md5_str; SecureRandom sr = ne

23、w SecureRandom; DESKeySpec dks = new DESKeySpec(key); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES); SecretKey securekey = keyFactory.generateSecret(dks); Cipher cipher = Cipher.getInstance(DES); cipher.init(Cipher.ENCRYPT_MODE , key8, sr); byte resultData = cipher.doFinal(enc_data_str.getBytes); result = byteArray2HexString(resultData); catch (NoSuchAlgorithmException e) e.printStackTrace;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号