php - 如何用curl模拟带有图片验证码的表单登录?
ringa_lee
ringa_lee 2017-04-10 13:08:29
[PHP讨论组]

原表单的图片验证码是网页调用的:
http://202.114.74.198/GenImg

用php curl模拟登录的时候,我同样用这样的方式来调用:

  大写字母 

这样登录后提示验证码错误。。应该是session值改变的原因。
因此请教如何做才能正确登录?

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
阿神

没太看明白~~但是据我所知,验证码确实是以来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中文网

先了解下验证码的原理再来研究如何破解,保证提取验证码在提交时是有效的基本就能搞定,至于能不能自动识别验证码又是另外一会事

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号