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

来源:互联网 发布:淘宝2016双11成交额 编辑:程序博客网 时间:2024/06/05 08:42

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"><!--google_ad_client = "pub-2908059660288034";/* 728x90,首页中间 创建于 08-8-14 */google_ad_slot = "5903610560";google_ad_width = 728;google_ad_height = 90;//--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击