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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值