Requests对图片验证码的处理
在web端的登录接口经常会有图片验证码的输入,而且每次登录时图片验证码都是随机的;当通过request做接口登录的时候要对图片验证码进行识别出图片中的字段,然后再登录接口中使用;
通过request对图片验证码的识别方法(带有噪点的图片)
一、通过在本地安装OcrServer工具识别图片验证码
如下图:解压后双击OcrServer.exe;然后电脑的右下角会显示该服务的IP和端口
二、通过python编写脚本,并配合OcrServer工具,识别出图片验证码的值
import base64 import request
# 获取验证码图片,并保存下来为123.png
response = requests.get(‘获取验证码图片的URL地址‘)
img = response.content
with open(‘../sample/123.png‘,’wb‘) as f:
f.write(img)
# 读取图片后,通过base64对图片进行编码 png = open('123.png','rb') res = png.read() s = base64.b64encode(res) png.close() # print(s.decode('ascii'))
3、在本地打开OcrServer.exe插件后,发送编码后的图片到指定的url地址,返回值为json格式
# 在本地打开OcrServer.exe插件后,发送编码后的图片到指定的url地址,返回值为json格式:{“code“:”验证码图片的值”}
response = requests.post(url=”http://127.0.0.1:12349″,data=s)
code_num = response.json()
print(code_num[‘code‘])
4、查看识别的验证码图片的值
# 获取验证码图片,并保存下来为123.png
response = requests.get(‘获取图片验证码的url地址‘)
img = response.content
with open(‘../sample/123.png‘,’wb‘) as f:
f.write(img)# 读取图片后,通过base64对图片进行编码
png = open(‘123.png‘,’rb’)
res = png.read()
s = base64.b64encode(res)
png.close()
# print(s.decode(‘ascii‘))# 在本地打开OcrServer.exe插件后,发送编码后的图片到指定的url地址,返回值为json格式{“code”:”验证码图片的值”}
response = requests.post(url=”http://127.0.0.1:12349″,data=s)
code_num = response.json()
print(code_num[‘code’])
通过编写python代码,导入第三方库(),识别图片验证码(没有噪点的图片)
1、首先下载 Pillow库和 pytesseract库,用来识别图片验证码
pip install Pillow pip install pytesseract
from PIL import Image
import pytesseract# pytesseract和PIL只能对图片验证码没有噪点的识别成功
path = ‘666.png‘
captcha = Image.open(path)
result = pytesseract.image_to_string(captcha,lang=”chi_sim“)
print(result)
from PIL import Image
import pytesseract# pytesseract和PIL只能对图片验证码没有噪点的识别成功
path = ‘999.png’
captcha = Image.open(path)
result = pytesseract.image_to_string(captcha,lang=”chi_sim“)
print(result)
获取验证码图片的URL地址
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
原文地址:https://blog.csdn.net/2301_78276982/article/details/134734787
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_22758.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!