关于微信模拟登陆的问题

来源:互联网 发布:数据库安全研究论文 编辑:程序博客网 时间:2024/04/28 12:29

        很久没有上CSDN,很多网友提到了我在网上共享的那个微信模拟登陆用不了的问题,这里,我来解释下为什么登陆不了了。

         说白了,模拟登陆是采用程序模拟浏览器向微信网站服务器提交数据的一个过程,这个过程中有些数据是必须的,少一个微信就会返回{ErrMsg=, ErrCode=-2, Token=, Ret=400},这个是因为在8月15号之前,在登陆页面是没有加入Referer的,所以后来很多网友下载了代码后发现是登陆不了,其实只要在那个post请求里面加入这个参数就可以解决问题了。另外我把三个必要的参数标记出来了,一个是客户端,一个是host,一个是Referer。因为httpclient能伪装成火狐或者是IE,所以我们没必要直接用它自身的,免得被腾讯检测到。

对于很多想用模拟登陆的用户来说,这个问题在下载我的代码后修正下就可以解决了。

    还有些用户希望通过点对点聊天的方式实现群发机制,这个是可行的。但是不知道有没有被封号的危险,由于本人群发量较少,所以希望广大网友在测试的时候能慎重。

这里有思路给大家提供,微信群发消息同样是采用模拟登陆,登陆后可以通过同样的方法,当然是在已经登陆的前提下,请求获取好友链接的URL:cgi-bin/contactmanage?t=user/index&pagesize=10&pageidx=0&type=0&groupid=0&token=1847658200&lang=zh_CN(TOKEN是你登陆的时候产生的)再次发送post请求到这个URL,通过正则匹配,获取的以下数据


这里面的数据就是你的关注者的信息了,如果你的用户数据很多,你可以通过改变pagesize的办法来获得更多用户的数据,或者发送多次请求,然后你可以通过json的jar包解析这些数据。这里的ID,其实就是老版的FACKID,是拿到用户各种数据的关键,包括头像、微信资料、推送消息。 微信资料对于做微信墙的开发者来说是必不可少的内容。

对于下载中的代码我基本上告诉大家怎么修改了,只要大家能在浏览器发送的各类请求中找到Refer,然后在不同的请求中注入进去,问题基本上就迎刃而解了。另外,代码中有几处请求的地址和正则已经变更了,请大家自行更正。

本人目前运营http://www.52wangpan.com,诚招合作伙伴。或者能与我共同开发一个基于SSH的微信公众平台管理平台,对于管理平台的开发框架,我已经放到:http://download.csdn.net/detail/wuche2010/6459329上面了,有兴趣的可以直接下载下来和我交流。简单地说下架构:

1、文件命名:
采用了最新的struts-convention插件,命名已-隔开,约定优于配置。
action的访问方式:域名:端口/action包名/action名!方法.action
对应action返回的页面:域名:端口/action包名/action名-方法返回值.jsp

2、数据库访问层,此处已经采用了springside的封装方式,方法齐全,能充分满足数据库的大部分增删改查的需求
在做开发时,只需要简单的从genericmanager继承,进行泛型即可。分页也进行了简单的封装。具体方法请看接口类。

3、文件目录:静态资源文件直接放到webcontent下既可以,均采用绝对路径方式引入,避免出错。
jsp文件统一放入WEB-INF下的jsp文件夹中,这个在struts配置文件中可以看到,默认的页面放置文件夹是WEB-INF/jsp

4、新建模块时,建议不同模块的采用不同的action命名空间也就是namespace,方便页面的管理。

5、添加的了json插件支持,直接返回json数据。

6、UI采用JQUERY EASYUI,容易上手。

最后,欢迎大家搬砖来拍。。

本人QQ: 1807168022

原创粉丝点击