使用OpenAPI发帖和自我回复并结贴的功能

1 根据公开的openAPI的地址,使用Axis生成代理程序
具体的可以参考另一个文章 http://blog.csdn.net/java2000_net/archive/2008/05/22/2468177.aspx
OpenAPI的公开帖子请看这里: http://community.csdn.net/openapi/openapiexplain.htm

2 下面的代码

package  net.java2000.csdn.auto;

import  java.io.File;
import  java.util.Date;
import  javax.xml.rpc.holders.BooleanHolder;
import  javax.xml.rpc.holders.IntHolder;
import  javax.xml.rpc.holders.LongHolder;
import  javax.xml.rpc.holders.StringHolder;
import  net.csdn.www.EditorType;
import  net.csdn.www.ForumAPISoapProxy;
import  net.csdn.www.Identity;
import  net.csdn.www.Post;
import  net.csdn.www.Reply;
import  net.csdn.www.holders.ErrorHolder;
import  net.java2000.tools.DateTools;

/** */ /**
 * 
 * 
@author 赵学庆 www.java2000.net
 *
 
*/

public   class  AutoPost  ... {
  
/** *//**
   * 发帖和结贴的测试
   * 
   * 
@param username 用户名
   * 
@param password 密码
   * 
@param message 发帖的信息
   * 
@param forumId 论坛的编号
   
*/

  
public void post(String username, String password, String message, String forumId) ...{
    
try ...{
      ForumAPISoapProxy proxy 
= new ForumAPISoapProxy();
      Identity id 
= new Identity(username, password);
      Post post 
= new Post();
      post.setBody(message);
      post.setSubject(message);
      post.setEditor(EditorType.UBB);
      post.setForumId(forumId);
      post.setPoint(
0);
      post.setIsAskExpert(
false);
      post.setTag(
"");
      ErrorHolder eHolder 
= new ErrorHolder();
      BooleanHolder bHolder 
= new BooleanHolder();
      StringHolder sHolder 
= new StringHolder();
      proxy.post(id, post, bHolder, eHolder, sHolder);
      System.out.println(sHolder.value);
      
// 自己回复
      Reply reply = new Reply();
      reply.setBody(message);
      reply.setForumId(forumId);
      reply.setTopicUrl(sHolder.value);
      reply.setEditor(EditorType.UBB);
      LongHolder lHolder 
= new LongHolder();
      IntHolder iHolder 
= new IntHolder();
      proxy.reply(id, reply, bHolder, eHolder, lHolder, iHolder);
      
// 下面是把这个帖子结了
      proxy.checkOutTopic(id, sHolder.value, forumId, new net.csdn.www.ReplyPoint[0], bHolder, eHolder);
      System.out.println(bHolder.value);
    }
 catch (Exception ex) ...{
      ex.printStackTrace();
    }

  }


  
public static void main(String[] args) throws Exception ...{
    AutoPost o 
= new AutoPost();
    o.post(
"username""password", 测试发帖,"回复和结贴""a3049f56-b572-48f5-89be-4797b70d71cd");

  }

}

其中的 a3049f56-b572-48f5-89be-4797b70d71cd 是灌水乐园的ForumId

就这么简单,替换其中的用户名和密码为你自己的,然后选一个ForumId, 就可以发帖了。







<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>

你可能感兴趣的:(JavaScript,xml,.net,Blog)