微信公众平台 - java 微信模拟登录错误,微信改版后不能使用

 放开丶那手 发布于 2022-11-07 23:45

这段代码是我java里面的代码

        Map map = new HashMap();
        //用户名 and 密码是正确的
        map.put("username", username);
        //密码转md5值也是正确的.根据多种md5加密工具测试
        map.put("pwd", MD5.getMD5(password.getBytes()));
        // map.put("imgcode", "");
        map.put("f", "json");
        Response response = Jsoup.connect("http://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN").ignoreContentType(true).method(Method.POST).data(map).execute();
        Map cookies = response.cookies();
        // 新添加代码
        String json = response.body();
        //地下这个是得到的返回结果.ErrCode=-2.是用户名或密码错误的提示.
        //{
        //"Ret": 400,
        //"ErrMsg": "",
        //"ShowVerifyCode": 0,
        //"ErrCode": -2
        //}

下面这段是腾讯登录界面的代码,

var e = m.getVal();
t.post("/cgi-bin/login?lang=zh_CN", {
username: e.account,
pwd: t.md5(e.password.substr(0, 16)),
imgcode: c.data("isHide") ? "" : e.verify,
f: "json"
}, function(t) {
var n = t.ErrCode + "", i;
u.hasClass("checkbox_checked") ? WXM.Helpers.setCookie("remember_acct", e.account, 30) : WXM.Helpers.setCookie("remember_acct", "EXPIRED", -1);
switch (n) {
case "-1":
i = "系统错误,请稍候再试。";
break;
case "-2":
i = "帐号或密码错误。";
break;
case "-3":
i = "您输入的帐号或者密码不正确,请重新输入。";
break;
case "-4":
i = "不存在该帐户。";
break;
case "-5":
i = "您目前处于访问受限状态。";
break;
case "-6":
i = "请输入图中的验证码", r();
return;
case "-7":
i = "此帐号已绑定私人微信号,不可用于公众平台登录。";
break;
case "-8":
i = "邮箱已存在。";
break;
case "-32":
i = "您输入的验证码不正确,请重新输入", r();
break;
case "-200":
i = "因频繁提交虚假资料,该帐号被拒绝登录。";
break;
case "-94":
i = "请使用邮箱登陆。";
break;
case "10":
i = "该公众会议号已经过期,无法再登录使用。";
break;
case "65201":
case "65202":
i = "成功登陆,正在跳转...", location.href = t.ErrMsg;
return;
case "0":
i = "成功登陆,正在跳转...", location.href = t.ErrMsg;
return;
case "-100":
i = '海外帐号请在公众平台海外版登录,点击登录';
break;
default:
i = "未知的返回。";
return;
}
s.trigger("Response", [ n, i ]);
}, "json");
3 个回答
  • 我也遇到了同样的问题,求解

    2022-11-12 01:44 回答
  • 请看我的最新博文,微信改版后主动推送~http://50vip.com/blog.php?i=349

    2022-11-12 01:44 回答
  • 我使用JavaScript进行模拟登录当我输入正确的用户与密码时能正常登录,输入错误的密码返回状态码为-3,密码错误,并非是-2状态码的用户名或密码错误. 所以上面的代码可能还有一些底层的东西需要修改.杯具啊.

    说明下,account.value 是用户名, password.value.substr(0,16)是密码,需要md5加密后在进行传输.

    jQuery.post("https://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN",{username:account.value,pwd:jQuery.md5(password.value.substr(0,16)),f:"json"})
    Object {readyState: 1, setRequestHeader: function, getAllResponseHeaders: function, getResponseHeader: function, overrideMimeType: function…}
    abort: function (e) {
    always: function () {
    complete: function () {
    done: function () {
    error: function () {
    fail: function () {
    getAllResponseHeaders: function () {
    getResponseHeader: function (e) {
    isRejected: function () {
    isResolved: function () {
    overrideMimeType: function (e) {
    pipe: function (e, t, n) {
    progress: function () {
    promise: function (e) {
    readyState: 4
    responseText: "{↵"Ret": 400,↵"ErrMsg": "",↵"ShowVerifyCode": 0,↵"ErrCode": -3↵}↵"
    setRequestHeader: function (e, t) {
    state: function () {
    status: 200
    statusCode: function (e) {
    statusText: "OK"
    success: function () {
    then: function (e, t, n) {
    __proto__: Object
    
    2022-11-12 01:44 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有