用httpUnit模拟登陆,直接上代码 public static void main(String[] args) { WebClient webClient = new WebClient(); webClient.setJavaScriptEnabled(false); String url = "https://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN"; WebRequest webRequest=null; try { webRequest=new WebRequest(new URL(url)); //设置post webRequest.setHttpMethod(HttpMethod.POST); Map<String, String> additionalHeaders=new HashedMap(); additionalHeaders.put("Accept", "application/json, text/javascript, */*; q=0.01"); additionalHeaders.put("Accept-Encoding", "gzip, deflate"); additionalHeaders.put("Accept-Language", "zh-cn"); additionalHeaders.put("Cache-Control", "no-cache"); additionalHeaders.put("Connection", "Keep-Alive"); additionalHeaders.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); additionalHeaders.put("Host", "mp.weixin.qq.com"); additionalHeaders.put("Referer", "https://mp.weixin.qq.com/"); additionalHeaders.put("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"); additionalHeaders.put("X-Requested-With", "XMLHttpRequest"); webRequest.setAdditionalHeaders(additionalHeaders); // 设置请求体参数 String params = "f=json&imagecode=&pwd="+MD5Utils.md5("xxx")+"&username=xxx"; webRequest.setRequestBody(params); WebResponse webResponse = webClient.loadWebResponse(webRequest); String contentAsString = webResponse.getContentAsString(); System.out.println(contentAsString); Gson gson=new Gson(); ReturnVo returnVo=gson.fromJson(contentAsString, ReturnVo.class); if("302".equals(returnVo.getRet())){ WebClient webClient2 = new WebClient(); webClient2.setJavaScriptEnabled(false); String url2 = "https://mp.weixin.qq.com"+returnVo.getErrMsg(); // 建立连接,下载网页 HtmlPage htmlPage = (HtmlPage) webClient.getPage(url2); System.out.println(htmlPage.asXml().toString()); } } catch (Exception e) { e.printStackTrace(); } 具体流程可以私聊...可实现模拟登陆,前提是要先绕过SSL
md5 也不是不能破解的。之前微信没有侧重安全这一块,现在加上了。不是说这些东西破解不了,但要看你破解需要的代价
81,122
社区成员
341,744
社区内容
加载中
试试用AI创作助手写篇文章吧