验证码识别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

浙公网安备 33010602011771号