使用Java程序自动发布百度空间文章

因为需要用百度空间记录一些东西,但是家里网速又十分慢,只好用程序代替手动发布。

下面是我写的代码,供大家参考,需要说明两点
1:HttpToolkitImpl类是我自己写的一个Http请求相应工具包,因为还有很多地方要完善,所以还没发布,大家可以根据自己的需求编写一些能实现对应要求的类,下面直粘贴代码
2:cookie我都是使用firefox的HttpFox插件抓取的,很多类似的软件,大家可以更具自己使用习惯使用(HttpWatch,HttpAnalyzer)

package test;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.codeif.commons.impl.HttpToolkitImpl;

/**
 * 自动向百度空间写文章
 * @author codeif
 */
public class Baidu {

    public static void main(String[] args) {
        String spaceName = "百度空间名";
        String cookie = "登陆空间后抓取百度空间的cookie";
        String title = "文章题目";
        String content = "文章内容";
        new Baidu().postBlog(spaceName, cookie, title, content);
    }

    /**
     * @param spaceName 空间名称
     * @param cookie    登陆后的cookie
     * @param title        文章题目
     * @param content    文章内容
     */
    public void postBlog(String spaceName,String cookie, String title, String content) {
        String url = "http://hi.baidu.com/"+spaceName+"/creat/blog/";  //用于获取bdstoken
        String res = new HttpToolkitImpl().get(url, cookie);
        Pattern p = Pattern.compile("bdstoken=([0-9a-z]+)\\W");
        Matcher m = p.matcher(res);
        String bdstoken = null;
        if(m.find()){
            bdstoken = m.group(1);
        }else{
            System.out.println("cookie过期,请重新抓取cookie");
            System.exit(0);
        }
        Map map = new LinkedHashMap();
        map.put("bdstoken", bdstoken);
        map.put("ct", "1");
        map.put("cm", "1");
        map.put("spBlogID", "");
        map.put("spBlogCatName_o", "");
        map.put("edithid", "");
        map.put("spBlogTitle", title);
        map.put("spBlogText", content);
        map.put("spBlogCatName", "默认分类");
        map.put("spBlogPower", "0");
        map.put("spIsCmtAllow", "1");
        map.put("spShareNotAllow", "0");
        map.put("spVcode", "");
        map.put("spVerifyKey", "");

        new HttpToolkitImpl().post("http://hi.baidu.com/taoduanzi/commit", map, cookie);
        System.out.println("发布文章完成");

    }

}

原文:http://www.codeif.com/topic/461


» 本文链接:https://blog.java-zone.org/archives/632.html
» 转载请注明来源:Java地带  » 《使用Java程序自动发布百度空间文章》

» 本文章为Java地带整理创作,欢迎转载!转载请注明本文地址,谢谢!
» 部分内容收集整理自网络,如有侵权请联系我删除!

» 订阅本站:https://blog.java-zone.org/feed/

标签: Java

添加新评论