原表单的图片验证码是网页调用的:
http://202.114.74.198/GenImg
用php curl模拟登录的时候,我同样用这样的方式来调用:
<input name=yzm type=text id="yzm" size="6" maxlength="4" length=10> 大写字母<img src="GenImg" align="absmiddle">
这样登录后提示验证码错误。。应该是session值改变的原因。
因此请教如何做才能正确登录?
阿神2017-04-10 13:10:29
没太看明白~~但是据我所知,验证码确实是以来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);
代码类似就这样吧~~~自己调整下下~~~