php登录检测验证码不正确,php,验证码_php中使用tesseract识别验证码,并且模拟登录,验证码错误,php,验证码,tesseract,模拟登录 - phpStudy...

php中使用tesseract识别验证码,并且模拟登录,验证码错误

代码如下:

header("Content-type:text/html;charset=utf-8");

/**

* 模拟登录

*/

//1.初始化变量

$cookie_file = tempnam('./temp','cookie');

$login_url = "http://210.32.33.91:8080/reader/redr_verify.php";//登录页面

$verify_code_url = "http://210.32.33.91:8080/reader/captcha.php";//验证码页面

//2.获取cookies

echo "正在获取COOKIE...
";

$curl = curl_init();

$timeout = 5;

curl_setopt($curl, CURLOPT_URL, $login_url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout);

curl_setopt($curl,CURLOPT_COOKIEJAR,$cookie_file); //获取COOKIE并存储

$contents = curl_exec($curl);

curl_close($curl);

//3.取出验证码

echo "COOKIE获取完成,正在取验证码...
";

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $verify_code_url);

curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file);//保存cookie

curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);//使用cookie

curl_setopt($curl, CURLOPT_HEADER, 0);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$img = curl_exec($curl);

curl_close($curl);

$codename = time();

$fp = fopen("/home/wwwroot/default/tesseract/Test/images/$codename.png","w");

echo "%24codename.png";

fwrite($fp,$img);

fclose($fp);

//开始识别验证码

echo "验证码取出完成,正在休眠,正在识别验证码...
";

passthru("/usr/bin/tesseract /home/wwwroot/default/tesseract/Test/images/$codename.png /home/wwwroot/default/tesseract/Test/images/$codename");

$code = file_get_contents("./images/$codename.txt");

echo "验证码成功取出:$code
";

echo "正在准备模拟登录...
";

$post_url = "http://210.32.33.91:8080/reader/redr_verify.php";

//为安全性,此处密码不提供。

$post = "number=1111111&passwd=111111&captcha=$code&select=cert_no&returnUrl=";

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $post_url);

curl_setopt($curl, CURLOPT_HEADER, false);

curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);

curl_setopt($curl, CURLOPT_POSTFIELDS, $post);

curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file);

curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);

$result=curl_exec($curl);

curl_close($curl);

echo str_replace('captcha.php','http://210.32.33.91:8080/reader/captcha.php',$result);

相关阅读:

less的命令行编译如何编译整个目录

为什么我写的 Node.js C++ Addons 善后这么卡?

字和字节的相关疑惑

为什么目前都倾向于使用runtime将json转换成model,而不直接使用工具生成代码的方式?

jQuery选择器问题

C#,请问如何将word转化为HTML,不适用office组件?

django mock http response

vim 中如何替换选中行或指定几行内的文本

Linux下安装了memcache扩展,但是连接失败

web前端关于拿到设计稿的尺寸问题?

div中的div无法控制高度?我想控制右边几个蓝色div的高度

使用vuex时,如何更好的封装一些通用的交互效果?

如何在多台机器上部署同样自己编译的php7?

关于单链表输出的点的问题

请问我用KVC访问textfield的placeholder颜色的属性,会被拒吗?

大家在那些场景用nodeJS

求教一个设计图css的写法

hexo yilia配置头像不显示

酒店房间wifi独立ssid

请问这样的页面是如何布局的?感觉很不好做啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值