java管理windows live custom domains用户

简介: import liveDomains.*;import java.io.*;import java.net.*;/*** java管理windows live custom domains用户* author:54powerman* 54powerman@163.com* http://54powerman.blog.sohu.com* 无法传附件,如对感兴趣liveDomains api包请mail索取。

import liveDomains.*;
import java.io.*;
import java.net.*;
/**
* java管理windows live custom domains用户
* author:54powerman
* 54powerman@163.com
* http://54powerman.blog.sohu.com
* 无法传附件,如对感兴趣liveDomains api包请mail索取。
**/
public class LiveDomainsManage {
 private String adminUser;
 private String adminPassword;
 private String loginUrl;
 private String loginTicket;
 private String loginData;
 private ManageDomainSvcLocator service;
 private ManageDomainSvcSoap_PortType client;
 public LiveDomainsManage(String user,String pass)
 {
  adminUser=user;
  adminPassword=pass;
  service=new ManageDomainSvcLocator();
  try{
   client=service.getManageDomainSvcSoap12();
  }
  catch(javax.xml.rpc.ServiceException e)
  {}
  try{
   loginUrl=client.getLoginUrl(adminUser);
   String loginDataTemplate=client.getLoginDataTemplate();
   loginData = loginDataTemplate.replaceAll("%NAME%", adminUser);
   loginData = loginData.replaceAll("%PASSWORD%", adminPassword);
  }
  catch(java.rmi.RemoteException e)
  {}
  login();
 }
 private void login()
 {
  if(!validate())
  {
   loginTicket = postWebData(loginUrl, loginData);//登录凭证,这个凭证在后面的操作中会频繁使用
  }
 }
 public void addUser(String user,String pass,boolean resetPassword)
 {
  try{
   client.addUser(user,pass,resetPassword,loginTicket);
  }
  catch(java.rmi.RemoteException e){}
 }
 public void deleteUser(String user)
 {
  try{
   client.deleteUser(user,loginTicket);
  }
  catch(java.rmi.RemoteException e){}
 }
 public String[] enumUsers(String domain)
 {
  try{
   return client.enumUsers(domain,"",500,loginTicket);
  }
  catch(java.rmi.RemoteException e){return null;}
 }
 public boolean validate()
 {
  try{
   return client.verifyAuthData(loginTicket);
  }
  catch(java.rmi.RemoteException e){return false;}
 }
 public UserState getUserState(String user)
 {
  try{
   return client.getUserState(user,loginTicket);
  }
  catch(java.rmi.RemoteException e){return null;}
 }
 public static String postWebData(String urlString,String postParam) {
  StringBuffer document = new StringBuffer();
  try {
   URL url = new URL(urlString);
   URLConnection conn = url.openConnection();
   if(!postParam.trim().equals("")){
    conn.setDoOutput(true);
    OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), "GBK");
    out.write(postParam);
    out.flush();
    out.close();
   }
   BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
   String line = null;
   while ( (line = reader.readLine()) != null) {
    document.append(line + "/n");
   }
   reader.close();
  }
  catch (MalformedURLException e) {
   System.out.println("Unable to connect to URL: " + urlString);
  }
  catch (IOException e) {
   System.out.println("IOException when connecting to URL: " + urlString);
  }
  return document.toString();
 }
 public static void main(String[] args) throws Exception{
  String adminUser="54powerman@163.com";
  String adminPassword="xxxxxxxxxxxxxxx";
  LiveDomainsManage liveDomainsManage=new LiveDomainsManage(adminUser,adminPassword);
  String[] users=liveDomainsManage.enumUsers("usease.com");
  for(int i=0;i<users.length;i++)
  {
   UserState userState=liveDomainsManage.getUserState(users[i]);
   System.out.println(users[i]+"/t"+userState.toString());
  }
 }
}

运行结果:
admin@usease.com         InUse
54powerman@usease.com    InUse
 

目录
相关文章
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
337 1
|
Java Linux Windows
windows版java版本管理器
本文介绍了如何在Windows上使用JDK版本管理器jvms来管理多个Java版本,包括下载、初始化、列出本地安装的JDK版本、在线查看可用版本、切换和安装特定版本的Java。
4414 0
windows版java版本管理器
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
366 1
|
JavaScript Java 测试技术
基于Java的人事管理系统设计和实现(源码+LW+部署讲解)
基于Java的人事管理系统设计和实现(源码+LW+部署讲解)
289 7
|
JavaScript Java 测试技术
基于Java的儿童福利院管理系统设计和实现(源码+LW+部署讲解)
基于Java的儿童福利院管理系统设计和实现(源码+LW+部署讲解)
358 7
|
JavaScript 前端开发 Java
Java数字化产科管理系统源码,多家医院应用案例,可直接上项目
Java开发的数字化产科管理系统,已在多家医院实施,支持直接部署。系统涵盖孕产全程,包括门诊、住院、统计和移动服务,整合高危管理、智能提醒、档案追踪等功能,与HIS等系统对接。采用前后端分离架构,Java语言,Vue前端,若依框架,MySQL数据库。优势在于提升就诊效率,降低漏检率,自动报表生成,减少重复工作,支持数据研究,并实现医院与卫计委平台的数据互通,打造全生育周期健康服务。
389 5
|
缓存 安全 Java
Java中线程池如何管理?
【7月更文挑战第11天】Java中线程池如何管理?
268 2
|
存储 监控 算法
Java中如何管理内存?
【7月更文挑战第10天】Java中如何管理内存?
253 2
|
设计模式 缓存 安全
Java面试题:工厂模式与内存泄漏防范?线程安全与volatile关键字的适用性?并发集合与线程池管理问题
Java面试题:工厂模式与内存泄漏防范?线程安全与volatile关键字的适用性?并发集合与线程池管理问题
249 1
|
IDE Java Apache
如何使用Maven管理Java项目依赖
如何使用Maven管理Java项目依赖