使用Asprise-OCR 破解验证码
2010-11-09 16:45
267 查看
关键代码///先去下载个Asprise-OCR压缩包(那三个.dll文件是要破解版的,正版的.bat文件测试是没问题) //解压,把那三个.dll文件放到JDK\bin目录下,别整到jre下了 //本地验证码识别测试 File file = new File("D:/imgcode.jpg"); BufferedImage image = ImageIO.read(file); String s = new OCR().recognizeEverything(image); System.out.println("\n---- 验证码是: ------- \n" + s); //网络动态验证码测试,无会话(session)无状态测试 String url_ = "http://127.0.0.1:8080/checkcode/image.jpg?aa="+System.currentTimeMillis(); URL url = new URL(url_); BufferedImage image =ImageIO.read(url.openStream()); File f = new File("D:/a.jpg");//由于效果不佳才先缓存到硬盘上,也可以直接读取数据流 ImageIO.write(image, "jpg", f); OCR ocr = new OCR(); String s = ocr.recognizeCharacters(ImageIO.read(f)); System.out.println("\n---- 结果: ------- \n" + s); /* 先解释一下,无状态会话是识别不了验证码的,因为这不是在浏览器环境下, 主要是没有session、cookie等维持客户端与服务器端的连接状态,所以这里要 用到apache下的一个开源项目httpclient,这个是用来模拟浏览器的, 那么先到apache官网上去下载这个东西,那么就可以进行网络环境识别了, 比如说识别注册时候的验证码 */ public void register() { HttpClient client = new HttpClient();//相当于客户端浏览器 client.getHostConfiguration().setHost("某个网站的host", 80);//比如www.oschina.net 80是端口 try { PostMethod post = new PostMethod("/imgcode.jpg");// 验证码的相对路径 int statusCode = client.executeMethod(post); post.releaseConnection();//释放连接 if(HttpStatus.SC_OK==statusCode){//状态码200表示请求成功,先发送去请求验证码 InputStream is = post.getResponseBodyAsStream(); BufferedImage image = ImageIO.read(is); String imgcode = new OCR().recognizeEverything(image); System.out.println("\n---- 验证码是: ------- \n" + imgcode); PostMethod post1 = new PostMethod("/register.do?username=sa&password=sa&imgcode="+imgcode);//登陆或注册的提交路径 statusCode = client.executeMethod(post1); post1.releaseConnection();//释放连接 if(HttpStatus.SC_OK==statusCode){//状态码200表示请求成功,先发送去请求验证码 System.out.println(post1.getResponseBodyAsString());//简单查看一下打印信息有没有成功的信息 } } } catch (HttpException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
相关文章推荐
- 使用tesseract-ocr破解网站验证码
- 使用tesseract-ocr破解网站验证码
- 使用tesseract-ocr破解网站验证码
- 使用ollyodb破解AspriseOCR.dll
- 使用tesseract-ocr破解网站验证码
- java使用ocr破解验证码
- 仅需15分钟,使用OpenCV+Keras轻松破解验证码
- AspriseOCR破解用Java实现网络图片解析
- Asprise-OCR的使用
- 使用puppeteer破解极验的滑动验证码
- 使用Python破解验证码
- 使用Selenium破解新浪微博的四宫格验证码
- 验证码破解技术四部曲之使用Tesseract(二)
- 用Asprise的OCR包,处理验证码。
- 如何使用PHP对网站验证码进行破解
- 验证码破解技术四部曲之使用K近邻算法(三)
- imagemagick tesseract-ocr破解简单验证码
- 使用Tesseract破解验证码并训练字库的方法
- 验证码破解技术四部曲之使用卷积神经网络(四)
- 使用Python破解验证码