最近更改 - 搜索:

>动态连接库DLL及com组件开发文档<

首页

流程:

各语言调用示例:

函数调用:

相关下载:

关于我们

联系我们

打码兔代答题新闻

edit

VCodeDecode

========== 2013-05-04 D2File支持以逗号分号分隔的多个图片文件转为GIF文件 =======

并新增一键式打码函数D2WndHandle、D2Wnd

D2WndHandle 一键式通过窗口句柄请求打码

/**
 功能:    一键式通过窗口句柄请求打码,调用此函数之前,无需再调用初始化、登录等函数
 函数名:   D2WndHandle
 返回值:   >0 成功,返回验证码ID(用于调用ReportResult), <0失败,详见错误码定义 http://wiki.dama2.com/index.php?n=ApiDoc.ErrDef
        应该停机处理的错误码包括:-1~-199(参数错误、用户错误)、-208(软件禁用)、-210(非法用户)、-301(配置错误、DLL找不到)
 参数:    [in]pszSoftwareID - 软件KEY(获取方法:http://wiki.dama2.com/index.php?n=ApiDoc.GetSoftIDandKEY)
        [in]pszUserName - 打码兔用户名(注意是用户账号,而不是开发者账号)
        [in]pszUserPassword - 打码兔用户密码
        [in]hHandle - 窗口句柄
        [in]lpRect - 窗口位置,以空格分隔的4个数字,分别表示左上右下坐标(相对于窗口左上角)
        [in]usTimeout - 验证码超时时间,即过多久验证码将失效。单位秒。推荐60,如果验证码识别成功,函数立即返回,否则函数会阻塞一直到超时时间返回
        [in]ulVCodeTypeID - 验证码类型ID,请从验证码类型表中找到您验证码的类型ID:http://wiki.dama2.com/index.php?n=ApiDoc.GetSoftIDandKEY 没有适合您的请联系打码兔补充
        [out]pszVCodeText - 返回验证码结果字符,建议传入30字节缓冲区
*/ ------------------------------------------------------------------------------------------------------------------------------------------
函数原型: int CRACKCAPTCHA_API D2WndHandle(

	const char *pszSoftwareId,
	const char *pszUserName,
	const char *pszUserPassword,
	HWND hHandle, LPCRECT lpRect, 
	unsigned short usTimeout,
	unsigned long ulVCodeTypeID, 
	char *pszVCodeText);

D2Wnd 一键式窗口定义请求打码

/**
 功能:    一键式窗口定义请求打码,调用此函数之前,无需再调用初始化、登录等函数
 函数名:   D2Wnd
 返回值:   >0 成功,返回验证码ID(用于调用ReportResult), <0失败,详见错误码定义 http://wiki.dama2.com/index.php?n=ApiDoc.ErrDef
        应该停机处理的错误码包括:-1~-199(参数错误、用户错误)、-208(软件禁用)、-210(非法用户)、-301(配置错误、DLL找不到)
 参数:    [in]pszSoftwareID - 软件KEY(获取方法:http://wiki.dama2.com/index.php?n=ApiDoc.GetSoftIDandKEY)
        [in]pszUserName - 打码兔用户名(注意是用户账号,而不是开发者账号)
        [in]pszUserPassword - 打码兔用户密码
        [in]pszWndDef - 窗口定义串
        [in]lpRect - 窗口位置,以空格分隔的4个数字,分别表示左上右下坐标(相对于窗口左上角)
        [in]usTimeout - 验证码超时时间,即过多久验证码将失效。单位秒。推荐60,如果验证码识别成功,函数立即返回,否则函数会阻塞一直到超时时间返回
        [in]ulVCodeTypeID - 验证码类型ID,请从验证码类型表中找到您验证码的类型ID:http://wiki.dama2.com/index.php?n=ApiDoc.GetSoftIDandKEY 没有适合您的请联系打码兔补充
        [out]pszVCodeText - 返回验证码结果字符,建议传入30字节缓冲区
------------------------------------------------------------------------------------------------------------------------------------------
函数原型:int CRACKCAPTCHA_API D2Wnd(

	const char *pszSoftwareId,
	const char *pszUserName,
	const char *pszUserPassword,
	const char *pszWndDef, LPCRECT lpRect, 
	unsigned short usTimeout,
	unsigned long ulVCodeTypeID, 
	char *pszVCodeText);

=========================2013-03-16新增一键式解码函数D2File、D2Buf=============

D2Buf 一键式通过图片数据请求打码,开发者需要自行下载并打开验证码图片,获得图片数据后调用本函数请求打码

/**
 功能:    一键式通过图片数据请求打码,调用此函数之前,无需再调用初始化、登录等函数
 函数名:   D2Buf
 返回值:   >0 成功,返回验证码ID(用于调用ReportResult), <0失败,详见错误码定义 http://wiki.dama2.com/index.php?n=ApiDoc.ErrDef
        应该停机处理的错误码包括:-1~-199(参数错误、用户错误)、-208(软件禁用)、-210(非法用户)、-301(配置错误、DLL找不到)
 参数:    [in]pszSoftwareID - 软件KEY(获取方法:http://wiki.dama2.com/index.php?n=ApiDoc.GetSoftIDandKEY)
        [in]pszUserName - 打码兔用户名(注意是用户账号,而不是开发者账号)
        [in]pszUserPassword - 打码兔用户密码
        [in]pImageData - 验证码图片数据字节集
        [in]dwDataLen - 验证码图片数据或验证码文本数据长度,即pImageData大小,限制4M
        [in]usTimeout - 验证码超时时间,即过多久验证码将失效。单位秒。推荐60,如果验证码识别成功,函数立即返回,否则函数会阻塞一直到超时时间返回
        [in]ulVCodeTypeID - 验证码类型ID,请从验证码类型表中找到您验证码的类型ID:http://wiki.dama2.com/index.php?n=ApiDoc.GetSoftIDandKEY 没有适合您的请联系打码兔补充
        [out]pszVCodeText - 返回验证码结果字符,建议传入30字节缓冲区
*/
------------------------------------------------------------------------------------------------------------------------------------------
函数原型:int CRACKCAPTCHA_API D2Buf( const char *pszSoftwareId,
                        const char *pszUserName,
                        const char *pszUserPassword,
                        LPCVOID pImageData,
                        DWORD dwDataLen,
                        unsigned short usTimeout,
                        unsigned long ulVCodeTypeID,
                        char *pszVCodeText);
------------------------------------------------------------------------------------------------------------------------------------------

D2File 一键式通过本机图片文件名请求打码

/**
 功能:    一键式通过本机图片文件名请求打码,调用此函数之前,无需再调用初始化、登录等函数
 函数名:   D2Buf
 返回值:   >0 成功,返回验证码ID(用于调用ReportResult), <0失败,详见错误码定义 http://wiki.dama2.com/index.php?n=ApiDoc.ErrDef
        应该停机处理的错误码包括:-1~-199(参数错误、用户错误)、-208(软件禁用)、-210(非法用户)、-301(配置错误、DLL找不到)
 参数:    [in]pszSoftwareID - 软件KEY(获取方法:http://wiki.dama2.com/index.php?n=ApiDoc.GetSoftIDandKEY)
        [in]pszUserName - 打码兔用户名(注意是用户账号,而不是开发者账号)
        [in]pszUserPassword - 打码兔用户密码
        [in]pszFilePath - 本机图片文件路径 如:c:\a.jpg,请开发者注意,图片文件截取时请截取验证码区域即可,太大的图片文件严重影响识别速度
        [in]usTimeout - 验证码超时时间,即过多久验证码将失效。单位秒。推荐60,如果验证码识别成功,函数立即返回,否则函数会阻塞一直到超时时间返回
        [in]ulVCodeTypeID - 验证码类型ID,请从验证码类型表中找到您验证码的类型ID:http://wiki.dama2.com/index.php?n=ApiDoc.GetSoftIDandKEY 没有适合您的请联系打码兔补充
        [out]pszVCodeText - 返回验证码结果字符,建议传入30字节缓冲区
*/
------------------------------------------------------------------------------------------------------------------------------------------
函数原型:int CRACKCAPTCHA_API D2File( const char *pszSoftwareId,
                        const char *pszUserName,
                        const char *pszUserPassword,
                        const char *pszFilePath,
                        unsigned short usTimeout,
                        unsigned long ulVCodeTypeID,
                        char *pszVCodeText);
------------------------------------------------------------------------------------------------------------------------------------------

请求打码

打码请求出现错误除与用户有关的错误(如余额不足、用户非法外)只需要重试就可以了,不应弹框退出

同步请求打码共有四种方式,推荐!!!!!

请求方式函数介绍
图片URL地址DecodeSync通过传入验证码图片URL地址请求打码,由打码兔控件负责下载上传,快速省时省心
图片数据流DecodeBufSync通过传入验证码图片数据流请求打码,开发者需要自行下载并打开验证码图片,获得图片数据后调用本函数请求打码。
本地图片路径DecodeFileSync传入本地验证码图片全路径,如:c:\1.jpg,打码兔负责读取图片上传并识别。
窗口截图DecodeWndSync传入窗口定义串,打码兔负责帮您在指定窗口截图并上传请求打码。

异步请求打码共有三种方式

请求方式函数介绍
图片URL地址Decode通过传入验证码图片URL地址请求打码,由打码兔控件负责下载上传,快速省时省心
图片数据流DecodeBuf通过传入验证码图片数据流请求打码,开发者需要自行下载并打开验证码图片,获得图片数据后调用本函数请求打码。
窗口截图DecodeWnd传入窗口定义串,打码兔负责帮您在指定窗口截图并上传请求打码。

------------------------------------------------------------------------------------------------------------------------------------------

1、 调用同步识别验证码函数说明:

方式一、DecodeSync 通过传入验证码图片URL地址请求打码,由打码兔控件负责下载上传,快速省时省心

/**
 功能:    请求打码
 函数名:   DecodeSync
 返回值:   >0 成功,返回验证码ID(用于调用ReportResult), <0失败,详见错误码定义 http://wiki.dama2.com/index.php?n=ApiDoc.ErrDef
 参数:    [in]pszFileURL - 验证码图片URL,最长511
        [in]pszCookie - 获取验证码所需Cookie,最长4095字节
        [in]pszReferer - 获取验证码所需Referer,最长511字节
        [in]usTimeout - 验证码超时时间,即过多久验证码将失效。单位秒。推荐120
        [in]ulVCodeTypeID - 验证码类型ID,请通过打码兔开发者后台您添加的软件中添加自己软件可能用到的验证码类型,并获取生成的ID http://wiki.dama2.com/index.php?n=ApiDoc.GetSoftIDandKEY
        [out]pszVCodeText - 返回验证码结果字符,建议传入30字节缓冲区
        [out]pszRetCookie - 返回COOKIE,建议传入4096字节缓冲区。
*/
------------------------------------------------------------------------------------------------------------------------------------------
函数原型:int DecodeSync( const char *pszFileURL,
                        const char *pszCookie,
                        const char *pszReferer,
                        unsigned short usTimeout,
                        unsigned long ulVCodeTypeID,
                        char *pszVCodeText,
                        char *pszRetCookie);
------------------------------------------------------------------------------------------------------------------------------------------

方式二、DecodeBufSync 1、通过传入验证码图片数据流请求打码,开发者需要自行下载并打开验证码图片,获得图片数据后调用本函数请求打码;2、识别文本,如3+5=?

/**
 功能:    请求打码
 函数名:   DecodeBufSync
 返回值:   >0 成功,返回验证码ID(用于调用ReportResult), <0失败,详见错误码定义 http://wiki.dama2.com/index.php?n=ApiDoc.ErrDef
 参数:    [in]pImageData - 验证码图片数据 (此处也可直接填写文本,如:3+8+3=?或 中国的首都是哪里? 但注意pszExtName就得固定填写"TXT"。)
        [in]dwDataLen - 验证码图片数据或验证码文本数据长度,即pImageData大小,限制4M
        [in]pszExtName - 图片扩展名,如JPG、BMP、PNG、GIF,不知道图片类型,填JPG即可。
(如果pImageData不是图片数据而是文本,则填写"TXT"。)
        [in]usTimeout - 验证码超时时间,即过多久验证码将失效。单位秒。推荐120
        [in]ulVCodeTypeID - 验证码类型ID,请通过打码兔开发者后台您添加的软件中添加自己软件可能用到的验证码类型,并获取生成的ID http://wiki.dama2.com/index.php?n=ApiDoc.GetSoftIDandKEY
        [out]pszVCodeText - 返回验证码结果字符,建议传入30字节缓冲区
*/
------------------------------------------------------------------------------------------------------------------------------------------
函数原型:int DecodeBufSync( LPVOID pImageData,
                        DWORD dwDataLen,
                        const char *pszExtName,
                        unsigned short usTimeout,
                        unsigned long ulVCodeTypeID,
                        char *pszVCodeText);
------------------------------------------------------------------------------------------------------------------------------------------

方式三、DecodeFileSync 通过传入本机验证码图片全路径请求打码,如:c:\1.jpg

/**
 功能:    请求打码
 函数名:   DecodeFileSync
 返回值:   >0 成功,返回验证码ID(用于调用ReportResult), <0失败,详见错误码定义 http://wiki.dama2.com/index.php?n=ApiDoc.ErrDef
 参数:    [in]pszFilePath - 验证码文件全路径,如c:\1.jpg
        [in]usTimeout - 验证码超时时间,即过多久验证码将失效。单位秒。推荐120
        [in]ulVCodeTypeID - 验证码类型ID,请通过打码兔开发者后台您添加的软件中添加自己软件可能用到的验证码类型,并获取生成的ID http://wiki.dama2.com/index.php?n=ApiDoc.GetSoftIDandKEY
        [out]pszVCodeText - 返回验证码结果字符,建议传入30字节缓冲区
*/
------------------------------------------------------------------------------------------------------------------------------------------
函数原型:int DecodeFileSync( const char *pszFilePath,
                        unsigned short usTimeout,
                        unsigned long ulVCodeTypeID,
                        char *pszVCodeText);
------------------------------------------------------------------------------------------------------------------------------------------

方式四、DecodeWndSync 传入窗口定义串,打码兔负责帮您在指定窗口截图并上传请求打码

/**
 功能:    请求打码
 函数名:   DecodeWndSync
 返回值:   >0 成功,返回验证码ID(用于调用ReportResult), <0失败,详见错误码定义 http://wiki.dama2.com/index.php?n=ApiDoc.ErrDef
 参数:    [in]pszWndDef - 窗口定义字串,详见下面描述
        [in]lpRect - 要截取的窗口内容矩形(相对于窗口最左上角),NULL表示截取整个窗口内容
        [in]usTimeout - 验证码超时时间,即过多久验证码将失效。单位秒。推荐120
        [in]ulVCodeTypeID - 验证码类型ID,请通过打码兔开发者后台您添加的软件中添加自己软件可能用到的验证码类型,并获取生成的ID http://wiki.dama2.com/index.php?n=ApiDoc.GetSoftIDandKEY
        [out]pszVCodeText - 返回验证码结果字符,建议传入30字节缓冲区
*/
窗口定义字串,格式如下:
  
由"\n"分隔的多个子串组成,一个子串表示一级窗口查找的条件.第一级窗口须为顶级窗口
  每个子串由3个元素组成:窗口Class名,窗口名,窗口索引.元素之间以逗号(半角)分隔
    窗口类名:如不想通过类名查找,填"ANY_CLASS"
    窗口名:窗口的名字,如没有窗口名,填"ANY_NAME"
    序号:以1开始数字,1表示第1个窗口名和窗口类名符合的窗口,
      如序号不为1,则依次查找符合条件和序号的窗口
  窗口级最大为50级
  如要查找要查找第一个类名为"TopClass"窗口名不限的第二子窗口(类名和类名都不限),
  字串如下:
    TopClass,ANY_NAME,1\nANY_CLASS,ANY_NAME,2
------------------------------------------------------------------------------------------------------------------------------------------
函数原型:int DecodeWndSync( const char *pszWndDef,
                        LPCRECT lpRect,
                        unsigned short usTimeout,
                        unsigned long ulVCodeTypeID,
                        char *pszVCodeText);





2、调用异步识别验证码函数说明:

方式一、Decode 通过传入验证码图片URL地址请求打码,由打码兔控件负责下载上传,快速省时省心

/**
 功能:    请求打码
 函数名:   Decode
 返回值:   0 成功, 其它失败,详见错误码定义 http://wiki.dama2.com/index.php?n=ApiDoc.ErrDef
 参数:    [in]pszFileURL - 验证码图片URL,最长511
        [in]pszCookie - 获取验证码所需Cookie,最长4095字节
        [in]pszReferer - 获取验证码所需Referer,最长511字节
        [in]ucVerificationCodeLen - 验证码长度,传入正确的验证码长度,将优先被识别。如果长度不定,可传0
        [in]usTimeout - 验证码超时时间,即过多久验证码将失效。单位秒。推荐120
        [in]ulVCodeTypeID - 验证码类型ID,请通过打码兔开发者后台您添加的软件中添加自己软件可能用到的验证码类型,并获取生成的ID
        [in]bDownloadPictureByLocalMachine - 是否本机下载,因为有些验证码绑定IP,不允许远程获取,如果此标志为TRUE,则打码兔控件将在您机器上自动下载图片并上传。
                        对于没有此限制的验证码,将会由打码用户端下载,效率更高!建议填FALSE
        [out]pulRequestID - 返回请求ID,为后面的GetResult取打码结果所用。
*/
------------------------------------------------------------------------------------------------------------------------------------------
函数原型:int CRACKCAPTCHA_API Decode( const char *pszFileURL,
                        const char *pszCookie,
                        const char *pszReferer,
                        unsigned char ucVerificationCodeLen,
                        unsigned short usTimeout,
                        unsigned long ulVCodeTypeID,
                        bool bDownloadPictureByLocalMachine,
                        unsigned long *pulRequestID);
------------------------------------------------------------------------------------------------------------------------------------------

方式二、DecodeBuf 1、通过传入验证码图片数据流请求打码,开发者需要自行下载并打开验证码图片,获得图片数据后调用本函数请求打码;2、识别文本,如3+5=?

/**
 功能:    请求打码
 函数名:   DecodeBuf
 返回值:   0 成功, 其它失败,详见错误码定义 http://wiki.dama2.com/index.php?n=ApiDoc.ErrDef
 参数:    [in]pImageData - 验证码图片数据 (此处也可直接填写文本,如:3+8+3=?或 中国的首都是哪里? 但注意pszExtName就得固定填写"TXT"。)
        [in]dwDataLen - 验证码图片数据或验证码文本数据长度,即pImageData大小,限制4M
        [in]pszExtName - 图片扩展名,如JPEG、BMP、PNG、GIF
(如果pImageData不是图片数据而是文本,则填写"TXT"。)
        [in]ucVerificationCodeLen - 验证码长度,传入正确的验证码长度,将优先被识别。如果长度不定,可传0
        [in]usTimeout - 验证码超时时间,即过多久验证码将失效。单位秒。推荐120
        [in]ulVCodeTypeID - 验证码类型ID,请通过打码兔开发者后台您添加的软件中添加自己软件可能用到的验证码类型,并获取生成的ID
        [out]pulRequestID - 返回请求ID,为后面的GetResult取打码结果所用。
*/
------------------------------------------------------------------------------------------------------------------------------------------
函数原型:int CRACKCAPTCHA_API DecodeBuf( LPVOID pImageData,
                        DWORD dwDataLen,
                        const char *pszExtName,
                        unsigned char ucVerificationCodeLen,
                        unsigned short usTimeout,
                        unsigned long ulVCodeTypeID,
                        unsigned long *pulRequestID);
------------------------------------------------------------------------------------------------------------------------------------------

方式三、DecodeWnd 传入窗口定义串,打码兔负责帮您在指定窗口截图并上传请求打码

/**
 功能:    请求打码
 函数名:   DecodeWnd
 返回值:   0 成功, 其它失败,详见错误码定义 http://wiki.dama2.com/index.php?n=ApiDoc.ErrDef
 参数:    [in]pszWndDef - 窗口定义字串,详见下面描述
        [in]lpRect - 要截取的窗口内容矩形(相对于窗口最左上角),NULL表示截取整个窗口内容
        [in]ucVerificationCodeLen - 验证码长度,传入正确的验证码长度,将优先被识别。如果长度不定,可传0
        [in]usTimeout - 验证码超时时间,即过多久验证码将失效。单位秒。推荐120
        [in]ulVCodeTypeID - 验证码类型ID,请通过打码兔开发者后台您添加的软件中添加自己软件可能用到的验证码类型,并获取生成的ID
        [out]pulRequestID - 返回请求ID,为后面的GetResult取打码结果所用。
*/
窗口定义字串,格式如下:
  
由"\n"分隔的多个子串组成,一个子串表示一级窗口查找的条件.第一级窗口须为顶级窗口
  每个子串由3个元素组成:窗口Class名,窗口名,窗口索引.元素之间以逗号(半角)分隔
    窗口类名:如不想通过类名查找,填"ANY_CLASS"
    窗口名:窗口的名字,如没有窗口名,填"ANY_NAME"
    序号:以1开始数字,1表示第1个窗口名和窗口类名符合的窗口,
      如序号不为1,则依次查找符合条件和序号的窗口
  窗口级最大为50级
  如要查找要查找第一个类名为"TopClass"窗口名不限的第二子窗口(类名和类名都不限),
  字串如下:
    TopClass,ANY_NAME,1\nANY_CLASS,ANY_NAME,2
------------------------------------------------------------------------------------------------------------------------------------------
函数原型:int CRACKCAPTCHA_API DecodeWnd( const char *pszWndDef,
                        LPCRECT lpRect,
                        unsigned char ucVerificationCodeLen,
                        unsigned short usTimeout,
                        unsigned long ulVCodeTypeID,
                        unsigned long *pulRequestID);
------------------------------------------------------------------------------------------------------------------------------------------

编辑 - 版本历史 - 打印 - 最近更改 - 搜索
本页面最后修订于:2013年-05月-08日