`
pqcc
  • 浏览: 128408 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java获取msn好友列表

    博客分类:
  • JAVA
阅读更多
基于 JMSN 写了一个 MsnHelper 。借助getBuddyList(String userName,String password) 方法即可轻松查询所有好友列表。
JMSN 下载地址:http://sourceforge.net/project/showfiles.php?group_id=47932。使用其中的 msnm.jar 文件即可。
另谁有 GTalk , Yahoo 等其他聊天工具的 Helper ,希望能分享一下 ,谢谢!

package com.pqcc.test;


import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.log4j.Logger;
import rath.msnm.BuddyGroup;
import rath.msnm.BuddyList;
import rath.msnm.GroupList;
import rath.msnm.MSNMessenger;
/**
*
* @author pqcc
*
*/
public class MsnHelper {

/**
*   getGroups(String userName,String password)    查询所有的 msn 分组。
*   getBuddyList(String userName,String password) 查询所有好友.(其他查询在线好友也雷同).
* @param args
*/
private static Logger log = Logger.getLogger(MsnHelper.class.getName());
private MSNMessenger msn = null;
public static void main(String[] args)
{
MsnHelper ms = new MsnHelper();
String msnAddress = JOptionPane.showInputDialog("请输入你的MSN");
String password = JOptionPane.showInputDialog("请输入你的密码");
List<String> buddyList = ms.getBuddyList(msnAddress,password);
if(buddyList != null)
{
for(String name:buddyList)
{
log.info("Buddy :"+name);
}
}
}

public void setMsnMessager(String userName,String password)
{
this.msn = new MSNMessenger(userName,password);

}
public MSNMessenger getMsnMessager()
{
return msn;
}
/**
* Login ur msn base on username and password.
* @param userName
* @param password
*/
public void login(String userName,String password)
{
if(msn == null)
setMsnMessager(userName,password);
msn.login();
}
/**
* Get all of ur msn group by username and password. (推荐)
* @param userName
* @param password
* @return all ur msn group .
*/
public List<String> getGroups(String userName,String password)
{
if(msn == null)
setMsnMessager(userName,password);
if(!msn.isLoggedIn())
{
login(userName,password);
}
return getGroups(msn);
}
/**
* Get all of ur buddy by username and password. (推荐)
* @param userName
* @param password
* @return All the buddy
*/
public List<String> getBuddyList(String userName,String password)
{
if(msn == null)
setMsnMessager(userName,password);
if(!msn.isLoggedIn())
{
login(userName,password);
}
return getBuddyList(msn);
}
/**
* Get all of ur buddy  group by MSNMessage.(不推荐)
* @param msn
* @return
*/
public List<String> getGroups(MSNMessenger msn)
{
if(msn == null)
return null;
if(!msn.isLoggedIn())
{
log.warn("Please set the MSNMessge");
msn.login();
}
BuddyGroup buddyGroup =   msn.getBuddyGroup();
GroupList groupList = buddyGroup.getGroupList();
Iterator groupIterm = groupList.iterator();
List list = null;
while(groupIterm.hasNext())
{
list = (list == null)?new ArrayList():list;
list.add(groupIterm.next().toString());
}
return list;
}
/**
* Get all of ur buddy  by MSNMessage.(不推荐,)
* @param msn
* @return
*/
public List<String> getBuddyList(MSNMessenger msn)
{
if(msn == null)
{
log.warn("Please set the MSNMessge");
return null;
}
if(!msn.isLoggedIn())
{
msn.login();
}
BuddyGroup buddyGroup =   msn.getBuddyGroup();
BuddyList buddyList = buddyGroup.getForwardList();
List list = null;
// check.
if(buddyList == null || buddyList.size()<1)
return null;

for(int i=0;i<buddyList.size();i++)
{
list = (list == null)?new ArrayList():list;
String fname = buddyList.get(i).getLoginName();
list.add(fname);
}
return list;
}
}


运行结果:

Buddy :***@hotmail.com
Buddy :***@hotmail.com
Buddy :***@hotmail.com
Buddy :***@hotmail.com
Buddy :***@msn.com
1
2
分享到:
评论
13 楼 hanyu332 2011-08-12  
接口应该过时了
12 楼 energykey 2009-03-17  
先收藏一个,日后必有用。
11 楼 yangwn 2009-01-19  
我将您的code执行了,怎么没有取到好友的列表呢?
执行后的结果为:
“URL=login=******@hotmail.com&passwd=******&sec=&mspp_shared=0&padding=”
请大侠解释一下。谢谢!
10 楼 yj302148 2008-10-13  
ulliang 写道

不好用,一直报911错误,身份验证错误异常

是啊
我跟你一样的哦。
9 楼 ulliang 2008-10-13  
不好用,一直报911错误,身份验证错误异常
8 楼 geek87 2008-09-18  
谢谢了,我先。好东西呀
7 楼 yewen001 2008-08-25  
说错了````,别的方法调用getBuddyList方法,都先执行完了,因为getbuddylist方法中带有Thread所以这个方法还是不太好`````````````````````
6 楼 yewen001 2008-08-25  
这都只能登live.msn.hotmail但不能登自定义MSN,有什么好的办法吗?
5 楼 jiahang8195 2008-08-19  
试过这个 一直报911错误是何原因 不能登陆
4 楼 EvanLiu 2008-06-24  
有不用使正在线上的msn下线就获取好友列表的办法吗?
3 楼 pqcc 2008-05-26  
可以,不过觉得意义不是太大,所以没有去实现。 
2 楼 simon1006 2008-05-26  
能跟msn好友通信吗?
1 楼 风向逆转 2008-05-25  
原来是你,哈哈

相关推荐

    Jml插件获取MSN好友列表

    总结来说,Jml插件是一个帮助开发者获取和管理MSN好友列表的工具,它基于Java语言,利用MSN的通讯协议进行工作。通过学习和使用Jml,开发者不仅可以掌握网络编程和协议解析的基本技能,还能了解到如何通过开源项目...

    读取MSN好友列表,MSN API 接口

    MSN Messenger,通常简称MSN,是微软公司推出的一款即时通讯软件,允许用户进行...通过学习和实践这些技术,开发者不仅可以实现读取MSN好友列表的功能,还能扩展到其他即时通讯平台的API交互,为用户提供更丰富的服务。

    msn联系人获取 好友列表 通讯录 主流邮箱

    本文将深入探讨如何获取MSN联系人、好友列表以及主流邮箱的通讯录。 首先,要获取MSN联系人和好友列表,我们需要了解MSN的协议。MSN使用了多种协议,包括但不限于:简单对象访问协议(SOAP)、XML传输协议(XMPP)...

    使用java导入某个msn帐号的好友列表并发送消息

    ### 使用Java导入MSN账号的好友列表并发送消息 #### 一、背景介绍与技术选型 在讨论如何实现这一功能之前,我们首先需要了解一些背景信息和技术选型的考量。 **1.1 背景** 随着互联网的发展,即时通讯软件如MSN...

    [其他类别]获取MSN,Live,google,Yahoo 好友列表_getfriend.zip

    本压缩包文件“[其他类别]获取MSN,Live,google,Yahoo 好友列表_getfriend.zip”提供了一种源码实现,旨在帮助用户获取四大主流即时通讯平台——MSN(Microsoft Network)、Windows Live Messenger、Google以及Yahoo...

    登陆msn,邮箱获取好友列表并给每个好友发邮件源代码

    4. **好友列表获取**:MSN或Outlook联系人的获取涉及到解析返回的XML或JSON数据,从中提取好友的电子邮件地址。如果是Skype,可能需要调用Skype for Business Online API来获取联系人信息。 5. **邮件发送**:邮件...

    Msn 获取用户列表

    这个过程通常涉及到解析MSN的协议,通过特定的API或工具来抓取和展示用户的好友列表。在描述中提到的“NULL”可能是原始博客文章中的一个错误或者未提供的详细信息。 标签“源码”表明我们将讨论与源代码相关的技术...

    基于Java的msn聊天程序Java仿真代码.zip

    【标题】中的“基于Java的msn聊天程序Java仿真代码.zip”表明这是一个使用Java编程语言实现的MSN(Microsoft Network)聊天程序的源代码集合。MSN曾经是一款流行的即时通讯软件,而这个项目是其功能的Java版本实现。...

    Java模仿的MSN聊天软件

    开发者可能实现了好友列表管理、在线状态显示、私人和群组聊天等功能,这些都是现代聊天应用的基础。 最后,“聊天”功能的实现可能包括加密和安全措施,以保护用户的隐私。Java提供了许多安全工具和类,如Cipher类...

    java源码包---java 源码 大量 实例

    还可以更新好友列表,响应用户双击的事件,并得到好友的编号,把聊天界面加入到管理类,设置密码保护等。 Java编写的网页版魔方游戏 内容索引:JAVA源码,游戏娱乐,魔方,网页游戏  Java编写的网页版魔方游戏,编译后...

    完整的获取邮箱、msn中好友名单 发送邮件 功能

    在IT行业中,发送电子邮件是一项基本任务,而能够自动获取邮箱和MSN好友名单并发送邮件的功能则更为高级。这个功能在营销、通知、自动化工作流程等多个场景中都有广泛的应用。下面我们将详细探讨如何实现这一功能,...

    java源码包3

    还可以更新好友列表,响应用户双击的事件,并得到好友的编号,把聊天界面加入到管理类,设置密码保护等。 Java编写的网页版魔方游戏 内容索引:JAVA源码,游戏娱乐,魔方,网页游戏  Java编写的网页版魔方游戏,编译...

    java源码包2

    还可以更新好友列表,响应用户双击的事件,并得到好友的编号,把聊天界面加入到管理类,设置密码保护等。 Java编写的网页版魔方游戏 内容索引:JAVA源码,游戏娱乐,魔方,网页游戏  Java编写的网页版魔方游戏,编译...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    还可以更新好友列表,响应用户双击的事件,并得到好友的编号,把聊天界面加入到管理类,设置密码保护等。 Java编写的网页版魔方游戏 内容索引:JAVA源码,游戏娱乐,魔方,网页游戏 Java编写的网页版魔方游戏,编译后...

    JAVA上百实例源码以及开源项目源代码

    还可以更新好友列表,响应用户双击的事件,并得到好友的编号,把聊天界面加入到管理类,设置密码保护等。 Java编写的网页版魔方游戏 内容索引:JAVA源码,游戏娱乐,魔方,网页游戏 Java编写的网页版魔方游戏,编译后...

    java源码包4

    还可以更新好友列表,响应用户双击的事件,并得到好友的编号,把聊天界面加入到管理类,设置密码保护等。 Java编写的网页版魔方游戏 内容索引:JAVA源码,游戏娱乐,魔方,网页游戏  Java编写的网页版魔方游戏,编译...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    还可以更新好友列表,响应用户双击的事件,并得到好友的编号,把聊天界面加入到管理类,设置密码保护等。 Java编写的网页版魔方游戏 内容索引:JAVA源码,游戏娱乐,魔方,网页游戏 Java编写的网页版魔方游戏,编译后...

    JAVA网络通信系统的研究与开发.doc

    JAVA网络通信系统的研究与开发是信息技术领域中的一个重要课题,它涉及到如何使用JAVA语言构建网络通信应用,以便实现在互联网上的信息交互。JAVA网络通信系统通常包括客户端和服务器端的架构,允许用户通过网络进行...

    jchat4android

    2. 协议栈设计:jchat4android可能采用了自定义的通信协议,以便高效地处理聊天消息、好友列表、在线状态等信息的传输。这种协议通常包括消息头、消息体以及错误处理机制。 三、与MSN的集成 1. MSN API接口:jchat...

    INCESOFT机器人平台SDK(专家级)开发指南

    #### 一、获取帮助方式 1. **客服支持**: - **电话**:86-21-52162122 - **电子邮件**:spsupport@incesoft.com - **地址**:中国上海市天山西路799号3楼 - **邮政编码**:200335 2. **论坛支持**: - **论坛...

Global site tag (gtag.js) - Google Analytics