java 验证码识别_【Java】验证码识别解决方案

对于类似以下简单的验证码的识别方案:

1、

16dd8624610d7493576b818cf88888d4.png

2

d4e42efd4893b3f40ac0f0ccb448f7d1.png

3

a41891644256bed18d492b0c72399a83.png

4、

782216f90070230eda308f1aafd01bfb.png

1、建库:切割验证码为单个字符,人工标记,比如:A。

ceeb436a689d5bd75c17731f26ac290b.png

2、识别:给一个验证码:切割为单个字符,在库中查询识别。

/***

* author:chzeze

* 识别验证码并返回

* train_path 验证码字母图库位置

* 验证码图片缓存位置:Configuration.getProperties("web_save_path")+"/captcha.jpg"

*/

public class AmGetCaptchaTest {

private static Logger logger = Logger.getLogger(AmGetCaptchaTest.class);

private static String train_path = "/data/sata/share_sata/AmazonCrawl/amazonWeb/captcha";

private static Map trainMap = null;

private static int index = 0;

private static int imgnum = 0;

private static MultiThreadedHttpConnectionManager httpConnectionManager = new MultiThreadedHttpConnectionManager();

private static HttpClient client = new HttpClient(httpConnectionManager);

/* static {

//每主机最大连接数和总共最大连接数,通过hosfConfiguration设置host来区分每个主机

client.getHttpConnectionManager().getParams().setDefaultMaxConnectionsPerHost(8);

client.getHttpConnectionManager().getParams().setMaxTotalConnections(48);

client.getHttpConnectionManager().getParams().setConnectionTimeout(10000);

client.getHttpConnectionManager().getParams().setSoTimeout(10000);

client.getHttpConnectionManager().getParams()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值