利用打码兔和超人打码自封装的打码类分享

利用打码兔和超人打码自封装的打码类分享

打码是利用人工智能大量输入验证码的意思,这里提供一个自封装的打码类,需要的朋友可以参考下

自封装的打码类,windows下建议用打码兔(调用的官方dll)、linux下建议超人打码(http api)

复制代码代码如下:# coding:utf-8 from ctypes import * import requestsimport JSON import random import binasciifrom config import config

类Dama2(): 打码兔打码._ username= _ password= _ _ attrs _ _=[ DM ,用户名,密码, softuuid ,超时]

def __init__(self):self .DM=WinDLL( lib/crackcaptchaapi。dll’)如果不是自我._用户名:达马2 ._ username=config[ dama ][ dama 2 ][ username ]da m2 ._ password=config[ dama ][ dama 2 ][ password ]self。用户名=c _ char _ p(self ._ username)自己。password=c _ char _ p(self ._ password)self。soft uuid=c _ char _ p( 6 FBC 06 efdc 777 eee 854842572102 daec )self。超时=c _ ushort(30)

def recv_byte(self,imgdata,img type=42):# img data=c _ void _ p(img data)img leng=c _ uint(len(img data))img type=c _ ulong(img type)RES=c _ char _ p( )

代码=自我100 . 00马克。D2Buf(self.softuuid,self.username,self.password,imgdata,imgleng,self.timeout,imgtype,res)如果代码0:返回结果值返回错误的

def report_err(self,imgid):返回错误的

班级任潮():_用户名=_密码= _ _属性__=[DM ,用户名,密码,软uuid ,超时]

def __init__(self):如果不是自我._用户名:任潮. username=config[达马][任潮][用户名]任潮. password=config[dama][任潮][密码]

self.s=请求session()self。编码= utf-8 自我。s .超时=16 self。data={ 用户名:self。用户名,“密码”:self.password,“softid”:“1234”,#1234换成自己的imgid : , imgdata: }

def get _ left _ point(self):尝试:r=self。美国邮政( http://apib。SZ 789。net:88/获取userinfo。ashx ,self.data)返回r.json()请求除外ConnectionError:返回self.get_left_point()除外:返回错误的

def recv_byte(self,img数据):self。data[ img data ]=binascii。b2a _ hex(img数据).upper()try:r=self。美国邮政( http://apib。SZ 789。net:88/recvbyte。阿什克斯,自我。data)RES=r . JSON()if RES[u info ]=-1:self。report _ err(RES[u imgid ])#识别错误返回错误的

return r . JSON()[u result ]请求除外ConnectionError:返回self.recv_byte(imgdata)除了:返回错误的

def report_err(self,imgid):self . data[ imgid ]=imgidif self。data[ img data ]:del self。data[ img data ]try:r=self。美国邮政( http://apib。SZ 789。net:88/报错。阿什克斯,自我。数据)返回r.json()请求除外ConnectionError:返回self.report_err(imgid)除外:返回错误的

class Dama():flag=dama2

def _ _ init _ _(self):如果self。flag== dama 2 :self . w=dama 2()elif self。flag==任潮:自我。w=任潮()else:self.w=Dama2()#默认

def recv_byte(self,imgdata):返回self.w.recv_byte(imgdata)

def report_err(self,imgid):返回self。w .报告错误(imgid)

# evident _ _ name _ _== _ _ main _ _ :通过

用户名和密码更换为自己的

利用打码兔和超人打码自封装的打码类分享