Example #1
0
/**
 * 根据图片的本地服务器地址识别验证码
 * @param $imgPath
 * @return string $verifycode, 识别好的验证码
 * @internal param $imaPath ,图片的地址
 */
function get_verifycode($imgPath)
{
    $valite = new valite();
    $valite->setImage($imgPath);
    $valite->getHec();
    $verifycode = $valite->run();
    return $verifycode;
}
Example #2
0
 private function violation_fz($plate_number, $vehicle_number)
 {
     $result = array();
     $try_times = 0;
     preg_match_all('/闽([\\w])([^<]*)/is', $plate_number, $match);
     $province_number = strtoupper($match[1][0]);
     $plate_number = trim($match[2][0]);
     while ($try_times < 3) {
         $res = $this->_fopen('http://fzjj.easdo.com/jtwf/', 0, '', 'GET');
         preg_match("/Set\\-Cookie:([^;]*)/i", $res['header'], $matches);
         $cookie = $matches[1];
         $cookie = trim($cookie);
         $res = $this->_fopen('http://fzjj.easdo.com/jtwf/image.jsp', 0, '', 'GET', $cookie);
         file_put_contents('/tmp/captcha.jpg', $res['data']);
         $valite = new valite();
         $valite->setImage('/tmp/captcha.jpg');
         $valite->getHec();
         $captcha_code = $valite->run();
         $to_post = array('carNum' => $plate_number, 'carType' => urldecode('%D0%A1%D0%CD%C6%FB%B3%B5'), 'clsbdm' => $vehicle_number, 'num' => $province_number, 'rand' => $captcha_code);
         $res = $this->_fopen('http://fzjj.easdo.com/jtwf/queryWfInfo.jsp', 0, http_build_query($to_post), 'POST', $cookie);
         if (strpos($res['data'], 'search-error')) {
             if (preg_match_all('/<div class=\\"err\\">([^<]*)<\\/div>/is', $res['data'], $matches3)) {
                 $error = mb_convert_encoding($matches3[1][0], 'UTF-8', 'gbk');
                 if (!preg_match('/验证码/is', $error)) {
                     $result['error'] = $error;
                     break;
                 }
             } else {
                 $try_times++;
             }
         } else {
             break;
         }
     }
     if (strpos($res['data'], 'search-result')) {
         unset($result['error']);
         $result = $this->parse($res['data'], $to_post, $captcha_code);
     }
     return $result;
 }
Example #3
0
<?php

// author email: ugg.xchj@gmail.com
// 本代码仅供学习参考,不提供任何技术保证。
// 切勿使用本代码用于非法用处,违者后果自负。
include 'Valite.php';
$name = time() . ".jpg";
$img = GrabImage("http://rkk.cdpf.org.cn/rand.jsp?tSessionId=1426303878194", $name);
if ($img) {
    echo '<img src="' . $name . '">';
} else {
    echo "false";
}
$valite = new valite();
// 这里的图片来源www.miibeian.gov.cn网站,
// 由于现在这段代码还不能实现自动对图片进行二值化
// 所以,如果你对其他图片进行验证,需要修改valite类中的
// getHec函数
//$valite->bmp2jpeg("ydndw.bmp");
$valite->setImage($name);
$valite->getHec();
$valite->filterInfo();
$valite->dealwithData();
//$valite->DrawDealData();
//$valite->Draw();
//echo "\n 结果是:";
$data = $valite->run();
echo implode("", $data);
echo "\n";
function GrabImage($url, $filename = "")
{
Example #4
0
<?php

// author email: ugg.xchj@gmail.com
// 本代码仅供学习参考,不提供任何技术保证。
// 切勿使用本代码用于非法用处,违者后果自负。
include "Valite.php";
$valite = new valite();
// 这里的图片来源www.miibeian.gov.cn网站,
// 由于现在这段代码还不能实现自动对图片进行二值化
// 所以,如果你对其他图片进行验证,需要修改valite类中的
// getHec函数
//$valite->bmp2jpeg("ydndw.bmp");
$valite->setImage("captcha.bmp");
$valite->getHec();
$valite->filterInfo();
$valite->dealwithData();
//$valite->DrawDealData();
//$valite->Draw();
//echo "\n 结果是:";
$data = $valite->run();
echo implode("", $data);
echo "\n";
/* // 这段代码用于添加验证码库,当你认为库不准确时,
   // 可以通过这种方式添加验证码库
$keyvalues = array(
'010101101101010'=>'0',
'010110010010111'=>'1',
'111001010100111'=>'2',
'111001111001111'=>'3',
'001011101111011'=>'4',
'111100111001111'=>'5',
Example #5
0
                    $max = $percent;
                    $num = $value;
                    if (intval($percent) > 95) {
                        break;
                    }
                }
            }
            $result .= $num;
        }
        $this->data = $result;
        return $result;
    }
    public function __construct()
    {
        /*初始化你的特征串数组,越多越精确,需要你自己丰富*/
        $this->Keys = array('000111000011111110011000110110000011110000011110000011110000011110000011110000011110000011011000110011111110000111000' => 0, '00011111000011100011100111000111111110000111111000001111110000011111110000111111100011110111000111000011111000' => 0, '00011110000011111100011110111001110001100111000111011000011101100001110110000111111000011101110001100111000110011100111000111111000001111000' => 0, '001111000011111100111001110111000110111000111110000111110000111110000111110000111111000111111000110011001110011111100001111000' => 0, '0011110001111110111111111110011111100111110000111100001111000011110000111100001111100111111001110111111000111100' => 0, '000111100001111110011111111011000011011000011011111111011000011011100111011100111111000011011000011011101111001111110000111100' => 0, '000111100001111110011111111011000011011000011011111111011000011011100111011100111111000011011000011011101111001111110000111100' => 0, '00111110000111111100111101111011100011101110001110111000111011100011101110001111111000111011101111101111011110111101111001111111000011111000' => 0, '001111100011111110111001110111000111111000111111000111111000111111000111111000111111000111111000111111101110011111110001111100' => 0, '000111110000011100011100111100011110111100101111111100011110111100011111111100011110111100011110011110111100000111111000' => 0, '000111111000011110011100011100011110111100001110111100001111111100001111111100001111111100011110011110011100001111111000' => 0, '00011111000011111110011110111101110011110111000111111100011111110001111111000111111100011101110001110111001111011100111000111111100001111100' => 0, '001110001110011110001110011110001111011100000111111100000111011110001111011110001110001110001110000011111000000000100000' => 0, '000111000011111000011111000000011000000011000000011000000011000000011000000011000000011000000011000011111111011111111' => 1, '0001100001111001111100111110001111000111000011100001111001111111111111' => 1, '00001110001111001111111111111110111110011100001110000111000011100001110000111000011100001110000111' => 1, '000011001111011111111111111111110111000011000111000111000111000111000111000111000011' => 1, '0011111100111001111011110011101110001110000001111000001110000011000000111111111111111111111111111111' => 2, '000111111000011110111110011110011110011110011110000000011100000000000000000110000100001111111110111111111111111111111111' => 2, '01111111100111101111101111001111011110011110000001111000000111000000111000000111111111101111111111011111111111' => 2, '00111111000011111110011111111101110001110000000111000000111100000111110000011110000011111000111110000011111000011111000001111111111111111111' => 2, '0011111100111001111011110011101110001111000000111000000000000011000000011111111111111111111111111111' => 2, '011111100011111110111111111111000111000000111000001111000011111000011110000111110011111000011111000111110000111111111111111111' => 2, '00011111000111111110011100111101110001110000000111000000111100000011100000111110000111110000111111000011110000011111110011111111111111111111' => 2, '011111000111111110100000110000000110000001100011111000011111100000001110000000111000000110100001110111111100011111000' => 3, '01111111001111011111111100111111110011110000001111000001111000001111000000001111000000111111100011111110001111111001111101111111000000010000' => 3, '00111111100011100111100111000111001110101111000010111100000001110000000111000000000111100000000111111100001111111100011111111001111000111111000' => 3, '00011111100011100111110111100111101110001111000000011100000001111000000111000000000011100000000111101110001111111100011110111001111100111111110' => 3, '001111000011111100111001110111001110000001110000111100000111100000001110000000111000000111111000111111001110011111110001111000' => 3, '0011110001111110111001111110011100000111001111000001111000011111000001110100001111000011111001110111111001111100' => 3, '00011110000011100111000111000111001100001110000000111100000011110000001111100000000111100000000111001100001111111100111101111011110001111111100' => 3, '001111100011111110111101111111001111000011110000111110000111110000001111000000111000000111111001111111101111011111110001111100' => 3, '000001100000011100000011100000111100001101100001101100011001100011001100111111111111111111000001100000001100000001100' => 4, '00000011000000011100000011111000001111100001111110001111110000110111100111011110111001111011111111111111111111000001111000000011100000001100' => 4, '00000011000000011100000011110000001111100001111110000110111000110011100111001110011000111011111111111111111111000000111000000011100000001100' => 4, '00000011100000001111000000011111000000111110000000111100000001111000000011100011000111101111111111111111111111000000111100000000110000000001100' => 4, '111111110111111110110000000110000000110000000111110000111111100000001110000000111000000110100001110111111100011111000' => 5, '00111111111001111111100011111111000100000000011000000000011111110001100011110000000011100000000111101110001111111100011100111001111000111111000' => 5, '011111110011111110011100000011000000111111100111111110111001111000000111000000111000000111111000111111001110011111110001111100' => 5, '001111110011111110011100000011000000111111100111111110111001110000000111000000111000000111111000111111001110011111110001111000' => 5, '000100000011111110011111110111110000111110000111111100111111110111111110000001111000000111110000111111001110111011110111111110011111100' => 5, '011111111011111111011100000011100000111111100111111110111001111000000111000000111000000111111000111111001111011111110001111100' => 5, '0011111110001111111100111111110110000000011000000001111111000010011110000000111100000001110110001111111100111101110111100011111100' => 5, '001111111101111111110011111111' => 5, '0111111111011111111101111111110100000000010000000011111111001110011111000000111100000011111110001111111000111111100111100111111100' => 5, '000111100001111110011000010011000000110000000110111100111111110111000111110000011110000011011000111011111110000111100' => 6, '00000011100000111100000011100000001111000000011100000001111111110011110011110111100011111111000111111110001111111100011110111001110000011111000' => 6, '0011110011111110111001111110001111111110111111101110011111100111111001111110001111100011111111110111111000111100' => 6, '00000011100000011100000011110000001111000000011100010001111111110011111011110111100011111111000111111110001111111100011110111100111000111111100' => 6, '001111100011111110111001110111000000111111100111111110111101110111000111111000111111000111111000111111101110011111110001111000' => 6, '001111100011111110111101111111000000111111100111111110111111111111001111111000111111000111111000111111101111011111110001111100' => 6, '001111100011111110111001111111000000111111100111111110111101110111000111111000111111000111111000111111101110011111110001111100' => 6, '001111100011111110011001111111000000111111100111111110111101110111000111111000111111000111111000111111101111011111110001111100' => 6, '00000011100000111100000011110000001111000000011100000001111111110011111001110111100011111111000111111110001111111100011110111101111000111111000' => 6, '0000001110000011100000111000000111000000011100000011111111101111000111111000011111100001111110000111111100011101110001100011111100' => 6, '00000011100000111100000011100000001110000000011100000001111111110011110011110111100011111111000111111110001111111100011110111001110000011111000' => 6, '00011111000011111110011110111001110000000111111100011111111001111011110111000111111100011101110001110111000111011110111100111111100001111100' => 6, '011111111011111111000000011000000010000000110000001100000001000000011000000010000000110000000110000001100000001100000' => 7, '1111111111111111111011111111101000000100100000110000000010000000011000000001000000001000000001100000000100000000110000000010000000' => 7, '1111111111111111000011110000111000001110000111000011100000111000001110000111100001110000011100000111000000110000' => 7, '1111111111111111000011110000111000001110000111000011100000111000001110000111000001110000011100000111000000110000' => 7, '111111111111111111000001110000001100000011100000011000000111000000110000001110000001110000001110000001100000001100000011100000' => 7, '111111111111111111000001111000001110000011100000011100000111000000111000001111000001110000001110000001110000001110000001100000' => 7, '111111111111111111000001110000001110000011100000011000000111000000110000001110000001110000001110000001100000001100000011100000' => 7, '01111111111111111111000000111000000111000000011100000011100000001110000001111000000111000000011100000001110000001110000000111000000011100000' => 7, '1111111111011111111101111111110100000110010000011000000001000000001100000000100000000100000000110000000010000000011000000001000000' => 7, '1111111111111111111011111111101000000100100000010000000010000000011000000001000000001000000001100000000100000000110000000010000000' => 7, '111111111111111111111111111100000010' => 7, '001111100011111110011000110011000110011101110001111100001111100011101110110000011110000011111000111011111110001111100' => 8, '001111100011111110111101110111001111111001111111101110011111110011111110111001111111000111111000111111101111111111110001111100' => 8, '00011111100011110011100111000111111110001111111110011100111111111000111111110011101111111111000111111110000111111100011110111000111000111111100' => 8, '001111100011111110111101111111001111111001111111101111011111110011111110111101111111000111111000111111001111111111110001111100' => 8, '00011111000011100011100111000111011110001110011110011100111111110000111111100011101111101110000111111100001111111000001111111000111000111111000' => 8, '001111111100011110011110011110011110011100001110011111111100001111111100001111111100001111111110011100001111111100001111011100001111011110001110000111111100000000110000' => 8, '001111100011111110111001110111000110111000110111001110011111100011111100111001110110000111111000111111001110111111110001111100' => 8, '000110000111111001111110111001111110011111100111111001111111111011111111111111111100001111100111111111111111111101111110' => 8, '001111111000011100011110011100011110111100011110011110011100011111111000001111111100011101111110111110011110111100001111111100001110011100011100001111111000' => 8, '00111110000111111100111101111011110111101111011110011101110001111110000111111100111001111011100011111110001111111111111001111111000011111000' => 8, '00011001100011100011101111000111111110001111111110011100111111110000011111100011101111111110000111111100000111111100001111111000111000111000000' => 8, '00011111100011100111101111000111011110001111111110011100111111110000111111100011101111101110000111111100001111111000011111111000111000111000000' => 8, '00011000000011100011101111000111011110001110011110011100111111110000111111100011101111101110000111111100001111111100001111111000111000111000000' => 8, '00011110000011111100011111111001100011100111001110011100111000111111000111111110011100111011100001111110000111011100111001111111100001111100' => 8, '001111000011111110111000111110000011110000011111000111011111111001111011000000011000000110010000110011111100001111000' => 9);
    }
}
for ($p = 1; $p < 11; $p++) {
    $img = "images/pic" . $p . ".jpeg";
    //验证码地址
    $v = new valite();
    // $val=file_get_contents($img);
    // file_put_contents(SAE_TMP_PATH.'1.jpg',$val);//写入SAE临时文件
    $v->setImage($img);
    //传输该图片
    $v->getHec();
    $res = $v->run();
    //结果/*这个验证码的识别率在95%以上,如果对于有字母的需要为其扩充特征串类,对于有复杂变化的还需要进行其他处理*/
    echo $res . "<br>";
}