zoukankan      html  css  js  c++  java
  • 网页版的模拟登陆有验证码的网站

       模拟登陆就是向登陆链接提交表单。

      没有验证码的登陆很好办,但是现在的网站10个里8个有验证码。验证码识别算法正确率又很低。

    如果是脚本模拟登陆的话直接把验证码拉回来人工识别,网页版的话如果把别的网站的验证码拉回来再显示在自己的网站上,多人访问的话就会造成验证码和sessionId不匹配而登不上。所以直接把对方的验证码直接写到我的页面上。

    用到apache httpclient包,用ImageIO读取在写入。

    方案:

    public void getYzm(HttpServletResponse respons){
            HttpGet hg=new HttpGet(yzmUrl+Math.random());
            try {
                CloseableHttpResponse response=client.execute(hg);
                HttpEntity he=response.getEntity();
                InputStream is=he.getContent();
                OutputStream os=respons.getOutputStream();
                BufferedImage bi=ImageIO.read(is);
                respons.setHeader("Cache-Control", "no-cache");
                respons.setHeader("Pragma", "no-cache");
                respons.setDateHeader("Expires", 0);
                respons.setContentType("image/gif");
                ImageIO.write(bi,"gif",os);
                is.close();
                os.close();
    
            } catch (IOException e) {
                e.printStackTrace();
            }
        }


  • 相关阅读:
    如何查找并启动 Reporting Services 工具
    数据压缩技术
    压缩算法
    新版压缩库发布
    如何处理海量数据
    安卓手机获得Root权限
    安卓项目的源码
    压缩算法1
    ODBC, OLEDB, ADO, ADO.Net的演化简史
    C# 文件压缩与解压(ZIP格式)
  • 原文地址:https://www.cnblogs.com/A-yes/p/9894214.html
Copyright © 2011-2022 走看看