`
zy116494718
  • 浏览: 470724 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java自动下载验证码图片

    博客分类:
  • Java
 
阅读更多

      前不久遇到一个需求,需要破解验证码程序(4位数字的),原理则是先存入各种样式的1-9数字在本地文件夹中,然后当提交的表单有需要验证码的时候,先把验证码图片下载到本地文件夹中,然后再把他和本身的1-9数字进行像素比对,当发现有相同时则返回该数字,以致得出这4位验证码程序。

      下面看如何下载图片的代码:

      首先先从该表单的源代码中找到image中src属性所对应的URL地址。

    

URL url = new URL(http://shop.10010.com/login/getNumberCheckCode.action);  //返回的是4位验证码的图片
	File outFile = new File("D:\\image\\a.jpg");
	OutputStream os = new FileOutputStream(outFile);
	BufferedReader bf = new BufferedReader(new InputStreamReader(url.openStream()));

	InputStream is = 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();

 

   

0
3
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics