码迷,mamicode.com
首页 > Web开发 > 详细

利用htmlunit登陆带验证码图片的网站

时间:2016-03-22 06:19:35      阅读:1000      评论:0      收藏:0      [点我收藏+]

标签:

http://htsoft.org/html/y2011/822_using-htmlunit-landing-site-with-captcha-image.html

 

利用htmlunit登陆带验证码图片的网站

2011年09月15日 ⁄ 编程语言 ⁄ 共 1266字 ⁄ 字号    ⁄ 暂无评论 ⁄ 阅读 7,088 次

以百度统计为例,说明下如何用htmlunit登陆带验证码的网站

//baidu统计登陆代码
try
{
	WebClient client = new WebClient(BrowserVersion.INTERNET_EXPLORER_7);
	client.setJavaScriptEnabled(false);
	HttpWebConnection httpwebconnection = new HttpWebConnection(client);
	httpwebconnection.setUseInsecureSSL(true);
	client.setWebConnection(httpwebconnection);
	HtmlPage page = client.getPage("http://tongji.baidu.com");
	HtmlElement username = page.getElementById("UserName");
	HtmlElement password = page.getElementById("Password");
	HtmlElement valiCode = page.getElementById("Valicode");
	HtmlImage valiCodeImg = (HtmlImage) page.getElementById("cas_code");
	ImageReader imageReader = valiCodeImg.getImageReader();
	BufferedImage bufferedImage = imageReader.read(0);

	JFrame f2 = new JFrame();
	JLabel l = new JLabel();
	l.setIcon(new ImageIcon(bufferedImage));
	f2.getContentPane().add(l);
	f2.setSize(100, 100);
	f2.setTitle("验证码");
	f2.setVisible(true);
	
	String valicodeStr = JOptionPane.showInputDialog("请输入验证码:");
	f2.setVisible(false);
	HtmlElement submit = page.getElementById("Submit");
	HtmlSubmitInput submit2 = (HtmlSubmitInput) submit;
	username.click();
	username.type("gabazi");
	password.click();
	password.type("******");
	valiCode.click();
	valiCode.type(valicodeStr);

	HtmlPage resultPage = submit2.click();
	System.out.println(resultPage.asText());
	System.exit(0);
}
catch(Exception e)
{
	e.printStackTrace();
}

利用htmlunit登陆带验证码图片的网站

标签:

原文地址:http://www.cnblogs.com/donaldlee2008/p/5304504.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!