java管理windows live custom domains用户

    技术2022-05-11  69

    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         InUse54powerman@usease.com    InUse 


    最新回复(0)