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

来源:互联网 发布:单桂敏艾条淘宝旗舰店 编辑:程序博客网 时间:2024/05/29 20:02

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();}

0 0
原创粉丝点击