jatula 2009-01-17 11:32
浏览 362
已采纳

JAVA实现获取QQ通讯录功能

最近在研究HttpClient,不过在获取QQ通讯录的时候,有一个问题,用数字模拟登录需要验证码;
但是开心吧,或者City都能够通过QQ号码和密码,获取好友通讯录,请教有什么办法实现?

只要有实现方法都给分,包括用其它语言实现,用JAVA实现也给分!
[b]问题补充:[/b]
开心和City是不是通过腾讯的API获取的? (好像API不公开,不过类似lumaqq,之类的工具,也肯定是根据协议获取的)

API 应该没有公开,lumaqq好像关掉了,协议的话不知道,但按理来说应该不会去跟腾讯买接口吧?
[b]问题补充:[/b]
谢谢bohemia提供的资料!

也谢谢lewhwa的方向!

lumaqq就是通过抓包来确定协议的,典型的反向工程。
在JAVA这块,有没有相关的资料?
[b]问题补充:[/b]
从搜搜Lumaqq,在结合它所对应的QQ版本,看看它的思路。然后咱们就用ethreal来抓取验证块的网络包。lumaqq和珊瑚QQ等等都是这样做的。
协议与语言无关,可以给Wireshark抓包软件的连接:
http://www.wireshark.org/

有没有比较小的测试实例可以熟悉一下!
[b]问题补充:[/b]
这块没有研究过,还有一个问题必须考虑,如果从真的实现这个功能,从输入用户名和密码,接着实现这些过程,调用方法,到获得通讯录之间的时间差,会不会太长,首先感觉有点复杂,可能是菜鸟的原因,再则有点担心太久,如果时间差超过8秒,我想这个Solution应该不好!
[b]问题补充:[/b]
请问有没有开心吧或者City的人,给一个最直观与最有效的实现方案,如果涉及机密的话,可以给出一个方向!
小弟无尽感激!

  • 写回答

5条回答 默认 最新

  • wwwghost 2009-01-17 11:59
    关注

    肯定要根据协议来,既然不能公开获取。只能通过ethereal(现在叫Wireshark)之类的来抓包了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?