嗯嗯 学到了
就是取值有问题 楼下大佬说的那样 已经解决了 谢谢
嗯嗯 雀食如大佬所说 之前那种取值是相当于两个值分别调用了一次验证码接口 然后就匹配不到一起了
我改了一下就好了
def run():
get_data = get_code()
code = get_data[0]
uuid = get_data[1]
# code = get_code()[0]
# uuid = get_code()[1]
pic_path = save_images(code)
vcode = ocr(pic_path)
return vcode, uuid, pic_path
谢谢大佬 , 一眼看到问题所在. 哈哈 真是恍然大悟 我还纳闷我的 session 怎么跟别人的不一样
求大佬们解惑
源码如下:
import requests
import ddddocr
import base64
import cv2
import time
s = requests.Session()
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36"
}
# 调接口获取验证码和uuid
def get_code():
res = s.get('http://host/m.api/captchaImage')
return res.json()["img"], res.json()["uuid"]
# 保存验证码图片
def save_images(img_str):
imgdata = base64.b64decode(img_str)
t = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
path = r'D:/test/img/' + t + '.jpg'
with open(path, 'wb') as fp:
fp.write(imgdata)
return path
# 识别验证码
def ocr(path):
ocr = ddddocr.DdddOcr()
with open(path, 'rb') as f:
img_bytes = f.read()
res = ocr.classification(img_bytes)
return res
# openCV展示验证码图片
def show_code(img_path):
img = cv2.imread(img_path)
cv2.imshow('show', img)
cv2.waitKey()
def run():
code = get_code()[0]
uuid = get_code()[1]
pic_path = save_images(code)
vcode = ocr(pic_path)
return vcode, uuid, pic_path
if __name__ == '__main__':
data = run()
print(data)
login_data = {
"username": "guest",
"password": "123456",
"verifyCode": data[0],
"uuid": data[1]
}
response = s.post(
'http://host/m.api?_gp=admin&_mt=login',
data=login_data, headers=headers)
print(response.json())
show_code(data[2])
综合了上面大佬们的指点,都试了一下
学到了学到了 谢谢大佬
学到了学到了 谢谢大佬
把你想要运行的方法又都装在一个方法里 调用这个方法去执行它们
我也想知道
"温馨提醒:这项措施在搞垮测试团队时要慎用,因为容易先把开发团队搞垮,违背了精准施策的原则。"这句话可太草了
没看懂
我跟大佬做法差不多诶
强者如斯 这么充实的大佬也会打游戏吗
大厂还得是大厂啊 我们这小作坊感觉流程好乱
公司产品的实际使用环境比这更复杂 直接关闭防火墙这种一刀切的行为不太合理 还是要尽可能的贴近生产环境
emmm,此记录为本人在公司的实际操作过程记录。其中有问题的地方还请各位大佬指正。
好家伙,本来想着说来学习一波。结果越看越自闭,大佬们真的太强了,感觉自己还有好多好多东西不会。哎,加油吧。
已阅
666 啊 大佬们真的强
大佬们牛皮