最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:懂视网 责编:小采 时间:2020-11-27 14:30:12
文档

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

利用打码兔和超人打码自封装的打码类分享:自封装的打码类, windows下建议用打码兔(调用的官方dll),linux下建议超人打码(http api) 代码如下:# coding:utf-8from ctypes import *import requestsimport jsonimport randomimport binasciifrom config
推荐度:
导读利用打码兔和超人打码自封装的打码类分享:自封装的打码类, windows下建议用打码兔(调用的官方dll),linux下建议超人打码(http api) 代码如下:# coding:utf-8from ctypes import *import requestsimport jsonimport randomimport binasciifrom config

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

代码如下:


# coding:utf-8
from ctypes import *
import requests
import json
import random
import binascii
from config import config

class Dama2():
"""打码兔打码."""
_username = ''
_password = ''
__attrs__ = ['DM', 'username', 'password', 'softuuid', 'timeout']

def __init__(self):
self.DM = WinDLL('lib/CrackCaptchaAPI.dll')
if not self._username:
Dama2._username = config['dama']['dama2']['username']
Dama2._password = config['dama']['dama2']['password']
self.username = c_char_p(self._username)
self.password = c_char_p(self._password)
self.softuuid = c_char_p('6fbc06efdc777eee854842572102daec')
self.timeout = c_ushort(30)

def recv_byte(self, imgdata, imgtype=42):
# imgdata = c_void_p(imgdata)
imgleng = c_uint(len(imgdata))
imgtype = c_ulong(imgtype)
res = c_char_p('')

code = self.DM.D2Buf(self.softuuid, self.username, self.password, imgdata, imgleng, self.timeout, imgtype, res)
if code > 0:
return res.value
return False

def report_err(self, imgid):
return False


class Chaoren():
_username = ''
_password = ''
__attrs__ = ['DM', 'username', 'password', 'softuuid', 'timeout']

def __init__(self):
if not self._username:
Chaoren._username = config['dama']['chaoren']['username']
Chaoren._password = config['dama']['chaoren']['password']

self.s = requests.Session()
self.s.encoding = 'utf-8'
self.s.timeout = 16
self.data = {
'username': self.username,
'password': self.password,
'softid': '1234',#1234换成自己的
'imgid': '',
'imgdata': ''
}

def get_left_point(self):
try:
r = self.s.post('http://apib.sz789.net:88/GetUserInfo.ashx', self.data)
return r.json()
except requests.ConnectionError:
return self.get_left_point()
except:
return False

def recv_byte(self, imgdata):
self.data['imgdata'] = binascii.b2a_hex(imgdata).upper()
try:
r = self.s.post('http://apib.sz789.net:88/RecvByte.ashx', self.data)
res = r.json()
if res[u'info'] == -1:
self.report_err(res[u'imgid']) # 识别错误
return False

return r.json()[u'result']
except requests.ConnectionError:
return self.recv_byte(imgdata)
except:
return False

def report_err(self, imgid):
self.data['imgid'] = imgid
if self.data['imgdata']:
del self.data['imgdata']
try:
r = self.s.post('http://apib.sz789.net:88/ReportError.ashx', self.data)
return r.json()
except requests.ConnectionError:
return self.report_err(imgid)
except:
return False


class Dama():
flag = 'dama2'

def __init__(self):
if self.flag == 'dama2':
self.w = Dama2()
elif self.flag == 'chaoren':
self.w = Chaoren()
else:
self.w = Dama2() # 默认

def recv_byte(self, imgdata):
return self.w.recv_byte(imgdata)

def report_err(self, imgid):
return self.w.report_err(imgid)


# test
if __name__ == '__main__':
pass

"""
username and password 更换为自己的
"""

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

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

利用打码兔和超人打码自封装的打码类分享:自封装的打码类, windows下建议用打码兔(调用的官方dll),linux下建议超人打码(http api) 代码如下:# coding:utf-8from ctypes import *import requestsimport jsonimport randomimport binasciifrom config
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top