扫码关注官方订阅号
原表单的图片验证码是网页调用的:http://202.114.74.198/GenImg
用php curl模拟登录的时候,我同样用这样的方式来调用:
大写字母
这样登录后提示验证码错误。。应该是session值改变的原因。 因此请教如何做才能正确登录?
ringa_lee
没太看明白~~但是据我所知,验证码确实是以来session来做的,而session一般是把id存在cookie里的,所以可以通过set一个sessionid的cookie来模拟session。不过~~验证码是怎么识别出来的呢...
我看了你 http://202.114.74.198/ 的这个网站,cookie里有一个叫 JSESSIONID 的。那么可以通过
<?php $sessionidValue = "就那个cookie的值"; $curlHandler = curl_init("http://202.114.74.198/"); $strCookie = 'JSESSIONID=' . $sessionidValue . '; path=/'; session_write_close(); curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, 1); curl_setopt( $curlHandler, CURLOPT_COOKIE, $strCookie); $response = curl_exec($curlHandler); curl_close($curlHandler);
代码类似就这样吧~~~自己调整下下~~~
先了解下验证码的原理再来研究如何破解,保证提取验证码在提交时是有效的基本就能搞定,至于能不能自动识别验证码又是另外一会事
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
没太看明白~~但是据我所知,验证码确实是以来session来做的,而session一般是把id存在cookie里的,所以可以通过set一个sessionid的cookie来模拟session。不过~~验证码是怎么识别出来的呢...
我看了你 http://202.114.74.198/ 的这个网站,cookie里有一个叫 JSESSIONID 的。那么可以通过
<?php $sessionidValue = "就那个cookie的值"; $curlHandler = curl_init("http://202.114.74.198/"); $strCookie = 'JSESSIONID=' . $sessionidValue . '; path=/'; session_write_close(); curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, 1); curl_setopt( $curlHandler, CURLOPT_COOKIE, $strCookie); $response = curl_exec($curlHandler); curl_close($curlHandler);代码类似就这样吧~~~自己调整下下~~~
先了解下验证码的原理再来研究如何破解,保证提取验证码在提交时是有效的基本就能搞定,至于能不能自动识别验证码又是另外一会事