针对比较整齐的数字验证码
过程:提取数据模型,根据数据模型匹配图片验证码
图示:
详细步骤:
一 提取数据模型:
从网络地址获取图片
public static void getImage()
{
try {
URL url = new URL("http://10.7.84.10:7001/exchange/imgcode?Fri%20Jun%2024%202016%2010:02:26%20GMT+0800%20(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4)?Fri%20Jun%2024%202016%2010:02:26%20GMT+0800%20(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4)?Fri%20Jun%2024%202016%2010:02:52%20GMT+0800%20(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4)"); //返回的是4位验证码的图片
File outFile = new File("C:\\a.jpg");
OutputStream os = new FileOutputStream(outFile);
BufferedReader bf = new BufferedReader(new InputStreamReader(url.openStream()));
InputStream is = (InputStream) url.openStream();
byte[] buff = new byte[1024];
while(true) { //要注意这种写法
int readed = is.read(buff);
if(readed == -1) {
break;
}
byte[] temp = new byte[readed];
System.arraycopy(buff, 0, temp, 0, readed); // 这句是关键
os.write(temp);
}
is.close();
os.close();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
- 将图片黑化,裁剪,等值分割,获取拆分后的每个数字的图片
————————–未完