import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.net.URLConnection;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class TestUrl {
public static void main(String[] args) throws Exception {
// String s = "http://passport.csdn.net/UserLogin.aspx";
// URL url = new URL(s);
// URLConnection uc = url.openConnection();
// // 打开的连接读取的输入流。
// Reader reader = new InputStreamReader(new
// BufferedInputStream(url.openStream()));
// int c;
// while ((c = reader.read()) != -1) {
// System.out.print((char) c);
// }
// reader.close();
String url = "http://passport.csdn.net/ShowExPwd.aspx"; // CSDN验证码地址
getImg(url);
}
public static void getImg(String url) throws Exception {
URL u = new URL(url);
for (int j = 0; j < 10; j++) { //得到10张。如果想做研究,可以循环1W次试试看。。。
JpgTset(u, j);
}
}
public static void JpgTset(URL url, int i) throws Exception {
Image src = javax.imageio.ImageIO.read(url); // 构造Image对象
int wideth = src.getWidth(null); // 得到源图宽
int height = src.getHeight(null); // 得到源图长
BufferedImage tag = new BufferedImage(wideth / 2, height / 2,
BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(src, 0, 0, wideth / 2, height / 2, null); // 绘制缩小后的图
FileOutputStream out = new FileOutputStream("c:/image/" + i + ".jpg"); // 输出到文件流
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(tag); // 近JPEG编码
// System.out.print(width+"*"+height);
out.close();
}
}
分享到:
相关推荐
1. **随机性**:验证码中的数字和字母组合是随机生成的,这使得每次请求验证码时都会得到不同的字符串,增加破解难度。通常,验证码的长度可以在4到6位之间调整,根据安全需求来平衡用户体验与安全性。 2. **字体与...
在CSDN的案例中,具体的实现细节可能包括对字符串运算的逻辑控制,以及图像渲染的优化,以达到与CSDN验证码相似的效果。开发者可以参考提供的链接(http://blog.csdn.net/evankaka/article/details/46597435)获取更...
2. **标注**:在获得验证码图像后,我们需要手动或使用自动化工具对每个图像进行标注,即识别并标记出图像中的每一个字符。这一步通常采用如LabelImg等工具,将每个字符的位置和对应的文本信息记录下来,生成用于...
这个代码的regist/registIndex.jsp里的重新得到验证码上我用的方法不是很可取,如果大家有好的方法请在我的blog上留言,thanks !!
这个样式是我发了很大的心思才从csdn中取得的,真的不容易啊,这个得到中文验证码的代码我是借鉴了一下别人的代码,自己改进了一下,不过这个重新取得验证我认为不是一种很可取的方法,所以我发布此资源,希望各位看...
Java实现正方教务验证码的识别:该套代码方案将正方教务系统的验证码去除背景上的噪点,再进行二值化处理为黑白图片,最后进行分割图片即可得到字模,使用字模可以实现接近于100%的验证码识别率。【此验证码识别...
目前,OpenCV由非盈利组织OpenCV.org维护,并得到了全球开发者、研究机构以及企业的持续贡献和支持。 主要特点 跨平台:OpenCV支持多种操作系统,包括但不限于Windows、Linux、macOS、Android和iOS,确保代码能够...
Math.random()返回一个0到1之间的随机数(包括0但不包括1),乘以36可以得到0到35之间的随机数,然后使用Math.floor()函数取整,保证选取的随机数在数组索引范围内。通过循环,我们将选取的字符拼接起来,形成最终的...
5. **调用识别函数**:将图片传入`muggle_ocr`提供的识别函数,得到识别结果。 6. **处理结果**:根据返回的文本结果,判断是否正确,进行后续的爬虫操作。 **三、验证码识别的挑战与应对策略** 验证码识别并非易...
C#中的`Random`类可以用来生成随机数,通过设定字符集并映射随机数到字符,我们可以得到随机的验证码字符串。 2. **绘制图形**:验证码的图形部分是通过在图像上绘制这些字符实现的。在WinForm中,我们可以使用`...
NAC(Network Access Control,网络访问控制)是一种网络安全技术,主要用于确保只有经过验证且安全的设备可以接入网络。然而,在这个场景中提到的"NAC病毒"可能是指一个特定的恶意软件或病毒,它可能以.NAC或.NAC_...
<td><div align="right">验证码:</div></td> <td><table width="100%"> 找回密码" /> ``` 2. **JavaScript验证**:为了提高用户体验并确保数据的有效性,在提交表单之前还...
CSDN Matlab武动乾坤上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图;...
CSDN Matlab武动乾坤上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图;...
CSDN Matlab武动乾坤上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图;...
CSDN Matlab武动乾坤上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图;...
CSDN Matlab武动乾坤上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图;...
CSDN佛怒唐莲上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,...
CSDN Matlab武动乾坤上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图;...