2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > PHP脚本自动识别验证码查询汽车违章详解

PHP脚本自动识别验证码查询汽车违章详解

时间:2019-04-10 14:50:33

相关推荐

PHP脚本自动识别验证码查询汽车违章详解

后端开发|php教程

自动识别验证码脚本,验证码识别脚本

后端开发-php教程

经常有查下自己的车有没有违章,所以写了现在这个脚本,帮助查询自己的车是否违章。主要用到,带cookie模拟表单提交和验证码识别。具体脚本写法一起通过本文学习吧

客服源码.net,ubuntu不输密码登录,tomcat启动打印详细日志,爬虫维他命粉,php打印api,辽宁省seo排名优化公司推荐lzw

经常有查下自己的车有没有违章,所以写了现在这个脚本,帮助查询自己的车是否违章。

响应式网页 源码,ubuntu系统关闭命令,tomcat的四种,爬虫cookie写法,php类中const用法,池子seolzw

主要用到,带cookie模拟表单提交和验证码识别。

电气公司源码下载,vscode用图片设置,ubuntu进阶教程,tomcat run端口,sqlite中文数据库下载,java爬虫系统程序设计怎么写,php 二维码 名片,seo的基础优化收录,海洋cms改网站首页,酒PPT模板 中国风lzw

Tesseract-OCR

验证码识别技术,Tesseract-OCR:/tesseract-ocr/tesseract

安装教学:/tesseract-ocr/tesseract

Tesseract-Ocr-For-PHP

把需要执行的命令,封装了一下

/thiagoalessio/tesseract-ocr-for-php

直接上脚本,没进行什么优化,简单了解下:

PHP

he, 云 => yn ); $url_pre = $pre[$shanghui]; $headers = array( Host: .$url_pre.., Origin: http://.$url_pre.., Referer: http://.$url_pre../views/inquiry.html?q=j, User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36 QQBrowser/4.1.4132.400 ); //初始化变量 $cookie_file = cookie.txt; $login_url = "http://$url_pre./views/inquiry.html?q=j"; $post_url = "http://$url_pre./m/publicquery/vio"; $verify_code_url = "http://$url_pre./captcha?nocache=".time(); $curl = curl_init(); $timeout = 5; curl_setopt($curl, CURLOPT_URL, $login_url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file); //获取COOKIE并存储 $contents = curl_exec($curl); curl_close($curl); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $verify_code_url); curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $img = curl_exec($curl); curl_close($curl); $fp = fopen("verifyCode.jpg", "w"); fwrite($fp, $img); fclose($fp); $code = (new TesseractOCR(verifyCode.jpg))->psm(7)->run(); $code = explode("\n", $code); $code = $code[1]; echo $code.PHP_EOL; if (strlen($code) != 4) { return json_encode(array(code=>500)); } $data = array( hpzl=>2, hphm1b => substr($car_code, -6), hphm => $car_code, fdjh => $fdjh, captcha => $code, qm => wf, page => 1 ); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $post_url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file); $result = curl_exec($curl); curl_close($curl); //unlink($cookie_file); //unlink(verifyCode.jpg); return $result;}$count = 0;// 车牌号$car_code = 冀Dxxxxx;// 发动机后6位$fdjh = xxxxxx;while (true) { $count++; if ($count>50) { exit(查询失败); } $res = weizhang($car_code, $fdjh); $info = json_decode($res, true); echo $res.PHP_EOL; if ($info[code] == 200) { echo 车牌号: . $car_code.PHP_EOL; echo 未处理违章数: .$info[data][content][zs]; exit(); }}

执行效果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。