首页 > java 微信模拟登录错误,微信改版后不能使用

java 微信模拟登录错误,微信改版后不能使用

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

        Map<String, String> map = new HashMap<String, String>();
        //用户名 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<String, String> 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 = '海外帐号请在公众平台海外版登录,<a href="http://admin.wechat.com/">点击登录</a>';
break;
default:
i = "未知的返回。";
return;
}
s.trigger("Response", [ n, i ]);
}, "json");

我也遇到了同样的问题,求解


请看我的最新博文,微信改版后主动推送~http://50vip.com/blog.php?i=349


我使用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
【热门文章】
【热门文章】