PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

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

原创
2016-12-05 13:44:16 1338浏览

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

回复内容:

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

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

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

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

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

验证码

同遇到这样的问题

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

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

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

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。