普通网友 2017-07-17 03:36 采纳率: 100%
浏览 2325
已结题

关于htmlunit登陆QQ邮箱的问题 ,大神求救

以下代码返回
ptuiCB('22009','0','','0','对不起,你的号码登录异常,请使用QQ手机版扫描二维码安全登录。(帮助反馈)(22009)', '');
都说是js版本的问题
QQ邮箱登录地址:https://ui.ptlogin2.qq.com/cgi-bin/login?style=9&appid=522005705&daid=4&s_url=https%3A%2F%2Fw.mail.qq.com%2Fcgi-bin%2Flogin%3Fvt%3Dpassport%26vm%3Dwsk%26delegate_url%3D%26f%3Dxhtml%26target%3D&hln_css=http%3A%2F%2Fmail.qq.com%2Fzh_CN%2Fhtmledition%2Fimages%2Flogo%2Fqqmail%2Fqqmail_logo_default_200h.png&low_login=1&hln_autologin=%E8%AE%B0%E4%BD%8F%E7%99%BB%E5%BD%95%E7%8A%B6%E6%80%81&pt_no_onekey=1
如果说是js版本问题,请问大牛有没有最新邮箱JS加密的方法 谢谢了!
WebClient webClients = new WebClient(BrowserVersion.CHROME);
    webClients.getCookieManager().setCookiesEnabled(true);// 开启cookie管理
    webClients.getOptions().setTimeout(90000);
    webClients.getOptions().setCssEnabled(true);
    webClients.getOptions().setJavaScriptEnabled(true);
    webClients.setJavaScriptTimeout(40000);
    webClients.getOptions().setRedirectEnabled(true);
    webClients.getOptions().setThrowExceptionOnScriptError(false);
    webClients.getOptions().setThrowExceptionOnFailingStatusCode(false);
    webClients.setAjaxController(new NicelyResynchronizingAjaxController());
    webClients.getOptions().setCssEnabled(false);
    webClients.getOptions().setJavaScriptEnabled(true);
    HtmlPage page = webClients.getPage("https://ssl.ptlogin2.qq.com/check?pt_tea=2&uin=1121212159&appid=522005705&ptlang=2052&regmaster=&pt_uistyle=9&r=0.07655477741844985&pt_jstoken=1515144655");
    String info = page.asText();//返回结果为ptui_checkVC('0','!WMQ','\x00\x00\x00\x00\x42\xd4\x56\xff','c7b633efb1ed1aee687d7c01a5610dcddaf6401e6eb6bcb71530a57d261f1ed8964ea74d502171e67019c0018468e489bebfe01c55775031','2');
    System.out.println(info);
    //截取 ptui_checkVC('0','!WMQ','\x00\x00\x00\x00\x42\xd4\x56\xff','c7b633efb1ed1aee687d7c01a5610dcddaf6401e6eb6bcb71530a57d261f1ed8964ea74d502171e67019c0018468e489bebfe01c55775031','2');
    String[] infoarry = info.split(",");
    String xx = infoarry[2].replace("'", "");
    String code = infoarry[1].replace("'", "");
    String sess = infoarry[3].replace("'", "");
    ScriptEngineManager factory = new ScriptEngineManager();
    ScriptEngine engine = factory.getEngineByName("JavaScript");
    engine.eval(new FileReader("D:/js/qq.js"));
    engine.eval("var encryptionPassword = getEncryption('weizai9527','" + xx+ "','" + code + "', undefined);");
    String p = engine.get("encryptionPassword").toString();
    HtmlPage pages = webClients
            .getPage("https://ssl.ptlogin2.qq.com/login?pt_vcode_v1=0&"
                    + "pt_verifysession_v1="
                    + sess
                    + "&"
                    + "verifycode="
                    + code
                    + "&u=1121212159&"
                    + "p="
                    + p
                    + ""
                    + "&"
                    + "pt_randsalt=2&"
                    + "ptlang=2052&"
                    + "low_login_enable=1&"
                    + "low_login_hour=720&"
                    + "u1=https%3A%2F%2Fw.mail.qq.com%2Fcgi-bin%2Flogin%3Fvt%3Dpassport%26vm%3Dwsk%26delegate_url%3D%26f%3Dxhtml%26target%3D%26ss%3D1&"
                    + "from_ui=1&fp=loginerroralert&device=2&"
                    + "aid=522005705&"
                    + "daid=4&pt_3rd_aid=0&ptredirect=1&h=1&g=1&pt_uistyle=9&regmaster=&");

    System.out.println(pages.asText());
}

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2018-07-30 16:06
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 模电中二极管,三极管和电容的应用
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络