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
 

目录
相关文章
|
SQL XML JavaScript
【若依Java】15分钟玩转若依二次开发,新手小白半小时实现前后端分离项目,springboot+vue3+Element Plus+vite实现Java项目和管理后台网站功能
摘要: 本文档详细介绍了如何使用若依框架快速搭建一个基于SpringBoot和Vue3的前后端分离的Java管理后台。教程涵盖了技术点、准备工作、启动项目、自动生成代码、数据库配置、菜单管理、代码下载和导入、自定义主题样式、代码生成、启动Vue3项目、修改代码、以及对代码进行自定义和扩展,例如单表和主子表的代码生成、树形表的实现、商品列表和分类列表的改造等。整个过程详细地指导了如何从下载项目到配置数据库,再到生成Java和Vue3代码,最后实现前后端的运行和功能定制。此外,还提供了关于软件安装、环境变量配置和代码自动生成的注意事项。
29737 73
|
Java Linux Windows
windows版java版本管理器
本文介绍了如何在Windows上使用JDK版本管理器jvms来管理多个Java版本,包括下载、初始化、列出本地安装的JDK版本、在线查看可用版本、切换和安装特定版本的Java。
3073 0
windows版java版本管理器
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
221 1
|
JavaScript Java 测试技术
基于Java的人事管理系统设计和实现(源码+LW+部署讲解)
基于Java的人事管理系统设计和实现(源码+LW+部署讲解)
233 7
|
JavaScript Java 测试技术
基于Java的儿童福利院管理系统设计和实现(源码+LW+部署讲解)
基于Java的儿童福利院管理系统设计和实现(源码+LW+部署讲解)
285 7
|
JavaScript 前端开发 Java
Java数字化产科管理系统源码,多家医院应用案例,可直接上项目
Java开发的数字化产科管理系统,已在多家医院实施,支持直接部署。系统涵盖孕产全程,包括门诊、住院、统计和移动服务,整合高危管理、智能提醒、档案追踪等功能,与HIS等系统对接。采用前后端分离架构,Java语言,Vue前端,若依框架,MySQL数据库。优势在于提升就诊效率,降低漏检率,自动报表生成,减少重复工作,支持数据研究,并实现医院与卫计委平台的数据互通,打造全生育周期健康服务。
284 5
|
缓存 安全 Java
Java中线程池如何管理?
【7月更文挑战第11天】Java中线程池如何管理?
205 2
|
存储 监控 算法
Java中如何管理内存?
【7月更文挑战第10天】Java中如何管理内存?
196 2
|
设计模式 缓存 安全
Java面试题:工厂模式与内存泄漏防范?线程安全与volatile关键字的适用性?并发集合与线程池管理问题
Java面试题:工厂模式与内存泄漏防范?线程安全与volatile关键字的适用性?并发集合与线程池管理问题
186 1
|
IDE Java Apache
如何使用Maven管理Java项目依赖
如何使用Maven管理Java项目依赖