欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

如何获取登录时的验证码图片?

程序员文章站 2022-04-11 18:30:55
...
登录时会有个验证码,看了下代码,其 src 指向一个 PHP 地址(可能不是 PHP 地址,这样 src="/login/verificationCode?0.8308222951445625"),单独打开这个地址,出现的是乱码,求问如何能把这个图片抠下来?为下一步识别验证码做准备。有没有研究过相关的朋友,谢谢!

回复内容:

登录时会有个验证码,看了下代码,其 src 指向一个 PHP 地址(可能不是 PHP 地址,这样 src="/login/verificationCode?0.8308222951445625"),单独打开这个地址,出现的是乱码,求问如何能把这个图片抠下来?为下一步识别验证码做准备。有没有研究过相关的朋友,谢谢!

这不是乱码,只是jpg、gif、png的 二进制流而已,具体是jpeg还是png,需要看这个二进制流的前几位,上回有会JPEG之类的标记

这个二进制流 保存成 1.jpg就可以看到结果了

或者请求的时候 将content-type 设置为 image/jpeg 这样请求的就应该可以直接看到了

建议题主看看TP验证码生成 就明白其中的奥义了

验证码

同遇到这样的问题

给http请求上加上头来让服务端知道它是个图片就可以了,你说的乱码是二进制流,复制到.txt然后保存成.jpg就可以打开看到了

一般验证码图片的生成都是没有做存储或者缓存的。
重新访问该链接只会生成新的图片,所以要把图片先存储起来,然后再做调用。

之前在项目中,我们就是通过js调用接口的方式,将验证码图片的二进制流资源以base64_encode加密传给客户端。
你可以参考下实现方法吧

楼主解决这个问题了吗?我也正遇到这个问题。

相关标签: php 验证码