用java开发校内网小工具 (五)

作者: ldsea 分类: 程序生活 发布时间: 2008-01-14 15:11

今天主要是把在群里发帖子的代码整理一下,前面的东西就不讲了,可以参考我以前的日志

其实在开发完发日志的功能后就马上想写群里发日志的,可是当时遇到了困难,抓包之后发现post的值有个ak值,我当时不知道这个值是做什么的,也不知道是如何得到了,不过我知道一点,一个用户ID对应着一个ak值,我看过“瓶子3.1”的源码,里面得到了AK值,所以就去“瓶子的博客”留了言,呵呵,瓶子告诉我了,我用QQ联系他的时候他也告诉我了,在此再感谢瓶子一次:)原来在个人主页里就有显示ak值,是一个hidden域,只要从个人主页的源文件里就可以读到了,后来我没有再继续开发的原因是那会儿我开始写海蓝软件了,呵呵,现在海蓝停止开发,就继续来做这个小工具~
下面讲讲我的代码,首先要得到ak值:

[code] HttpMethod getAkMethod = new GetMethod("http://xiaonei.com/getuser.do?id="+userid);//userid是从主页获取到的个人id号
httpClient.executeMethod(getAkMethod);
  StringBuffer HomeBufferAk = new StringBuffer();
BufferedReader inAk = new BufferedReader(
  new InputStreamReader(getAkMethod.getResponseBodyAsStream()));
          String inputLineAk = null;
            while ((inputLineAk = inAk.readLine()) != null) {
                  String myak = "name=\"ak\"";
                  if (inputLineAk.indexOf(myak) != -1) {
                          ak = inputLineAk.split("\"")[5];
                  }

          }[/code]
这样就得到了ak的值,下面的代码是在群里发帖的完整代码:

[code]public void setNewGroupBlog(String url,String strSubject,String strBody,String strAk)  throws HttpException, IOException
    {
        if(url.indexOf("=")!=-1){
        String urlId = url.split("=")[1];//群主页id号
        PostMethod  post  =  new  PostMethod ("http://group.xiaonei.com/Post.do?tribe="+urlId);
        StringPart subject = new StringPart("subject",strSubject);
        subject.setCharSet("utf-8");
        StringPart body = new StringPart("body",strBody);
        body.setCharSet("utf-8");
        StringPart curpage = new StringPart("curpage","0");
        StringPart ak = new StringPart("ak",strAk);
        StringPart submit = new StringPart("submit","发表");
        StringPart[] parts = {subject,body,curpage,ak,submit};
         post.setRequestEntity(new MultipartRequestEntity(parts,post.getParams()));
         httpClient.executeMethod(post);
         System.out.println(post.getStatusLine());
         post.releaseConnection();      
        }
        else{
            System.out.print("群主页地址不对");
        }
    }[/code]
呵呵,其实也不难吧:)
下面的软件运行的效果
[color=#FF0000][size=4]1.发帖的界面[/size][/color]
[img][attach]6[/attach][/img]
[color=#FF0000][size=4]2.发帖成功提示[/size][/color]
[img][attach]7[/attach][/img]
[color=#FF0000][size=4]3.在群里查看帖子的显示[/size][/color]
[img][attach]8[/attach][/img]

                              [size=4][color=#0000FF]海蓝原创,如需转载请注明转载地址[/color][/size]

发表回复

您的电子邮箱地址不会被公开。