java管理windows live custom domains用户

本文涉及的产品
视频直播,500GB 1个月
简介: 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
 

目录
相关文章
|
2月前
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
44 1
|
2月前
|
Java Linux Windows
windows版java版本管理器
本文介绍了如何在Windows上使用JDK版本管理器jvms来管理多个Java版本,包括下载、初始化、列出本地安装的JDK版本、在线查看可用版本、切换和安装特定版本的Java。
112 0
windows版java版本管理器
|
4月前
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
|
4月前
|
Java 开发工具 Spring
【Azure Spring Cloud】使用azure-spring-boot-starter-storage来上传文件报错: java.net.UnknownHostException: xxxxxxxx.blob.core.windows.net: Name or service not known
【Azure Spring Cloud】使用azure-spring-boot-starter-storage来上传文件报错: java.net.UnknownHostException: xxxxxxxx.blob.core.windows.net: Name or service not known
|
4月前
|
前端开发 JavaScript Java
【Azure 应用服务】App Service For Windows 中如何设置代理实现前端静态文件和后端Java Spring Boot Jar包
【Azure 应用服务】App Service For Windows 中如何设置代理实现前端静态文件和后端Java Spring Boot Jar包
|
4月前
|
JavaScript Java Python
【Azure 应用服务】在Azure App Service for Windows 中部署Java/NodeJS/Python项目时,web.config的配置模板内容
【Azure 应用服务】在Azure App Service for Windows 中部署Java/NodeJS/Python项目时,web.config的配置模板内容
|
4月前
|
Java Linux Windows
java系列之 复制原始目录文件到新的 目录文件【Windows 和 Linux 均可使用】
这篇文章提供了Java中复制或移动目录及其文件(包括权限)的示例代码,包括删除目标目录内容、复制或移动整个目录的过程,并强调了在操作过程中需要注意的一些关键点。
|
5月前
|
JavaScript Java 测试技术
基于Java的人事管理系统设计和实现(源码+LW+部署讲解)
基于Java的人事管理系统设计和实现(源码+LW+部署讲解)
118 7
|
5月前
|
JavaScript Java 测试技术
基于Java的儿童福利院管理系统设计和实现(源码+LW+部署讲解)
基于Java的儿童福利院管理系统设计和实现(源码+LW+部署讲解)
107 7
|
5月前
|
缓存 安全 Java
Java中线程池如何管理?
【7月更文挑战第11天】Java中线程池如何管理?
60 2