验证码识别ddddocr库的使用方法与requests库的结合进行登录测试

ddddocr库的基础使用

使用这个验证码作为识别时示例:

代码:

import ddddocr
ocr = ddddocr.DdddOcr() # 实例化ddddocr库
with open('1.jpg', mode='rb') as code: # 读取验证码图片,这里读取的是图片所有我们要讲模式设置为rb已二进制来读取
vcode = code.read()
res = ocr.classification(vcode) # 使用classification方法来识别验证码
print('识别结果为:' + res)

运行结果:

使用ddddor库结合requests进行登录测试

import ddddocr # 导入dddor库
import requests
ocr = ddddocr.DdddOcr() # 实例化ddddocr库,用来识别验证码
session = requests.Session() # 获取session,用来保持同一会话
session.get('http://192.168.10.200:8080/login.php') # 获取登录页面
reps = session.get('http://192.168.10.200:8080/vcode.php') # 获取验证码页面
filename = str(time.time()) + '.jpg' # 定义文件名
with open('./woniunote/image/' + filename, mode='wb') as file: # 将验证码图片下载到本地
file.write(reps.content)
print('验证码下载完成')
with open('./woniunote/image/' + filename, mode='rb') as code: # 读取验证码图片
vcode = code.read()
res = ocr.classification(vcode) # 识别验证码
print('识别结果为:' + res)
data = {'username': 'admin', 'password': 'admin123', 'verifycode': res}
result = session.post(url='http://192.168.10.200:8080/user/login.php', data=data)
print(result.text)

简洁代码内容:

import ddddocr
import requests
ocr = ddddocr.DdddOcr() # 实例化ddddocr库,用来识别验证码
session = requests.Session() # 获取session,用来保持同一会话
session.get('http://192.168.10.200:8080/login.php')
reps = session.get('http://192.168.10.200:8080/vcode.php') # 获取验证码页面
res = ocr.classification(reps.content) # 识别验证码
print('识别结果为:' + res)
data = {'username': 'admin', 'password': 'admin123', 'verifycode': res}
result = session.post(url='http://192.168.10.200:8080/user/login.php', data=data)
print(result.text)

运行结果:

验证码下载完成
识别结果为:bumt
login-pass
posted @ 2023-12-05 14:33  网搭小白  阅读(1088)  评论(0)    收藏  举报